インストールガイド · 4 min read · Oct 20, 2025

Rocky Linux 9にNginxでFossBillingをインストールする方法

FOSSBillingは、クライアントと販売者にとって使いやすいように設計された無料のオープンソースの請求システムです。FOSSBillingはBoxBillingのフォークです。直感的なインターフェースを持ち、複数の支払いゲートウェイをサポートしており、クライアントに優れた体験を提供します。FOSSBillingは、小規模から中規模、さらには大規模なビジネスに適しています。FOSSBillingは、請求書の自動化、入金、クライアント管理およびコミュニケーションを支援します。

このガイドでは、Rocky Linux 9サーバーにFOSSBillingをインストールします。この手順には、Nginxウェブサーバー、MariaDBデータベースサーバー、PHP-FPM 8.2、およびSSL/TSL証明書を生成するためのCertbotツールのインストールが含まれています。最終的には、日常業務に使用できる請求およびクライアント管理ソリューションが得られます。

前提条件

このガイドを完了するには、以下の要件が必要です:

  • Rocky Linux 9がインストールされたサーバー - この例では、ホスト名が ‘fossbilling-rocky‘のRocky Linuxを使用します。
  • sudo/root管理者権限を持つ非rootユーザー。
  • SELinuxが許可モードで実行されていること。
  • サーバーのIPアドレスを指すドメイン名 - この例では、サブドメイン ‘fossbilling.howtoforge.local‘を使用します。

これらの要件が整ったら、FOSSBillingのインストールを完了できます。

Nginxウェブサーバーのインストール

FOSSBillingはNginxおよびLighttpdウェブサーバーで実行できます。このガイドでは、Nginxをウェブサーバーとして使用します。このステップでは、公式のRocky Linux AppStreamリポジトリからNginxをインストールします。

まず、EPELリポジトリがシステムに追加されていることを確認します。以下のdnfコマンドを使用してインストールすることもできます。

sudo dnf install epel-release

次に、以下のdnfコマンドを使用してNginxウェブサーバーをインストールします。プロンプトが表示されたら、yを入力して確認し、ENTERを押して続行します。

sudo dnf install nginx

出力:

install nginx

Nginxがインストールされたら、以下のsystemctlコマンドを実行してNginxサービスを開始および有効にします。これにより、NginxがデフォルトのHTTPポート80で起動し、システム起動時に自動的にNginxが実行されるようになります。

sudo systemctl start nginx  
sudo systemctl enable nginx

次に、以下のsystemctlコマンドユーティリティを使用してNginxサービスのステータスを確認します。Nginxサービスが実行中であり、有効であるという出力を受け取るはずです。

sudo systemctl status nginx

出力:

start verify nginx

Nginxサービスが現在実行中です。firewalldでHTTPおよびHTTPSプロトコルの両方を開く必要があります。これを実現するには、以下のfirewall-cmdコマンドを実行できます。

sudo firewall-cmd --add-service={http,https} --permanent

HTTPおよびHTTPSプロトコルがfirewalldに追加されたら、以下のコマンドを実行してfirewalldをリロードし、変更を適用します。その後、firewalldで有効なサービスのリストを確認します。

HTTPおよびHTTPSプロトコルがfirewalldに追加されたことが確認できるはずです。

sudo firewall-cmd --reload  
sudo firewall-cmd --list-all

出力:

setup firewalld

これで、Nginxウェブサーバーをインストールし、firewalldを構成してHTTPおよびHTTPSプロトコルを開きました。次のステップでは、MariaDBデータベースサーバーのインストールを開始します。

MariaDBサーバーのインストール

FOSSBillingは、ユーザーデータを保存するためにMySQL/MariaDBを使用します。MySQL 8またはMariaDBサーバー10.xが必要です。このステップでは、公式のRocky LinuxリポジトリからMariaDBサーバーをインストールします。これはMariaDB 10.5であり、最新のFOSSBillingバージョンと互換性があります。

以下のdnfコマンドを使用して、Rocky LinuxシステムにMariaDBデータベースサーバーをインストールします。プロンプトが表示されたらyを入力し、ENTERを押して続行します。

sudo install mariadb-server

出力:

install mariadb

MariaDBがインストールされたら、以下のsystemctlコマンドユーティリティを実行してMariaDBサービスを開始および有効にします。

sudo systemctl start mariadb  
sudo systemctl enable mariadb

次に、以下のsystemctlコマンドを実行してMariaDBサービスを確認し、サービスが実行中であることを確認します。出力の’active (running)‘は、MariaDBサーバーが実行中であることを確認します。また、出力の’loaded (../mariadb.service; enabled;)‘は、MariaDBサービスが有効であり、システム起動時に自動的に実行されることを確認します。

sudo systemctl status mariadb

出力:

start verify mariadb

MariaDBサーバーが実行中になったので、次に’mariadb-secure-installation’コマンドを使用してMariaDBを保護します。これには、MariaDBのルートパスワードの設定、MariaDBのルートユーザーのリモートログインの無効化などが含まれます。

以下の’mariadb-secure-installation‘コマンドを実行して、MariaDBのデプロイメントを保護します。

sudo mariadb-secure-installation

以下のいくつかのMariaDB設定について尋ねられます:

  • ローカル認証をunix_socketに切り替えますか? いいえの場合はnを入力します。
  • MariaDBのルートパスワードを設定しますか? yを入力し、新しいMariaDBのルートパスワードを入力して繰り返します。
  • デフォルトの匿名ユーザーを削除しますか? 確認するにはyを入力します。
  • ルートユーザーのリモートログインを無効にしますか? 確認するにはyを入力します。
  • デフォルトのデータベーステストを削除しますか? 確認するにはyを入力します。
  • テーブルの権限をリロードして変更を適用しますか? 確認するにはyを入力します。

MariaDBサーバーがインストールされ、実行中になったので、次にFOSSBillingのインストールに使用される新しいMariaDBデータベースとユーザーを作成します。

データベースとユーザーの作成

このステップでは、FOSSBillingのインストールに使用される新しいMariaDBデータベースとユーザーを作成します。

以下の’mariadb‘コマンドを実行して、ルートユーザーを介してMariaDBにログインします。パスワードを尋ねられたら、MariaDBのルートパスワードを入力し、ENTERを押します。

sudo mariadb -u root -p

MariaDBシェルにログインしたら、以下のクエリを実行して新しいMariaDBデータベースとユーザーを作成します。この例では、ユーザー’fossbilling‘を持つ新しいデータベースfossbillingdbを作成します。また、以下のクエリでデフォルトのパスワードを変更してください。

CREATE DATABASE fossbillingdb;  
CREATE USER fossbilling@localhost IDENTIFIED BY 'password';  
GRANT ALL ON fossbillingdb.* TO fossbilling@localhost WITH GRANT OPTION;  
FLUSH PRIVILEGES;

出力:

create database user

最後に、以下のクエリを実行してMariaDBユーザーfossbilling@localhostを確認し、ユーザーが’fossbillingdb‘データベースにアクセスする権限を持っていることを確認します。

出力の‘GRANT ALL PRIVILEGES ON fossbillingdb. to fossbilling@localhost‘は、ユーザーfossbilling@localhostがデータベース’fossbillingdb*’にアクセスする権限を持っていることを確認します。

quitと入力してMariaDBシェルからログアウトします。

SHOW GRANTS FOR fossbilling@localhost;  
quit

出力:

verify user database

これで、FOSSBilling用のMariaDBデータベースとユーザーが作成されました。次のステップでは、Rocky LinuxサーバーにPHPとPHP-FPMをインストールします。

PHP-FPM 8.2のインストール

FOSSBillingの最新バージョンはPHP 8.xをサポートしています。このステップでは、Remiリポジトリを介してPHPとPHP-FPM 8.2をインストールします。まず、Remiリポジトリを設定し、PHPとPHP-FPMパッケージをインストールし、次にNginxウェブサーバーとPHP-FPMを設定します。

以下のdnfコマンドを使用してPHP Remiリポジトリを追加します。このコマンドは、RemiリポジトリをRocky Linuxシステムにインストールします。RPMファイル‘remi-release-9.rpm’は、これがRHEL 9ディストリビューションに使用できることを確認します。また、プロンプトが表示されたらyを入力し、ENTERを押して続行します。

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm

出力:

install remi repo

次に、以下のdnfコマンドを実行してPHPのリポジトリモジュールをリセットします。その後、システムで利用可能なPHPリポジトリモジュールのリストを確認します。

sudo dnf module reset php  
sudo dnf module list php

RemiリポジトリのGPGキーを設定するように求められたら、yを入力して確認し、ENTERを押します。

accept gpg key

‘dnf module list php’コマンドが実行されると、公式のRocky Linux AppStreamリポジトリとRemiリポジトリによって提供される複数のPHPバージョンが表示されます。

list repos

以下のコマンドを実行して、’remi-8.2‘のPHPリポジトリを有効にします。これにより、PHPパッケージをインストールするたびに、RemiリポジトリからPHP 8.2パッケージがインストールされます。

プロンプトが表示されたらyを入力し、ENTERを押して有効にします。

sudo dnf module enable php:remi-8.2

出力:

enable remi repo php 8.2

PHP Remiリポジトリが設定されたので、PHPパッケージをインストールできます。

以下のdnfコマンドを実行して、Rocky LinuxサーバーにPHPおよびPHP-FPMパッケージをインストールします。プロンプトが表示されたらyを入力し、ENTERを押して続行します。

sudo dnf install php php-fpm php-mysql php-curl php-cli php-zip php-common php-mbstring php-xml

出力:

install php

RemiリポジトリのGPGキーを確認するように求められたら、yを入力して確認し、ENTERを押します。

accept gpg key

PHPがインストールされたら、以下のnanoエディタコマンドを使用してPHP設定ファイル’ /etc/php.ini‘を開きます。

sudo nano /etc/php.ini

デフォルトのPHP設定を以下の行に変更します。

upload_max_filesize = 16M   
post_max_size = 32M   
memory_limit = 256M   
max_execution_time = 600   
max_input_vars = 3000   
max_input_time = 1000

完了したら、’ /etc/php.ini‘ファイルを保存して終了します。

RHELベースのディストリビューションでNginxと共にPHP-FPMを実行するには、PHP-FPMがデフォルトのユーザーとグループ’nginx‘で実行されていることを確認する必要があります。

RHELでは、Nginxウェブサーバーはデフォルトでユーザー’nginx‘の下で実行されています。一方、Debianベースのディストリビューションでは、NginxとApache2ウェブサーバーは同じユーザーとグループ’www-data‘で実行されています。

以下のnanoエディタコマンドを使用してPHP-FPMプール設定’ /etc/php-fpm.d/www.conf‘を開きます。

sudo nano /etc/php-fpm.d/www.conf

デフォルトの’user‘および’group‘パラメータを’nginx‘に変更します。

user = nginx  
group = nginx

完了したら、ファイルを保存して閉じます。

次に、以下のsystemctlコマンドユーティリティを実行してPHP-FPMサービスを開始および有効にします。これにより、PHP-FPMサービスがデフォルトのソックファイル‘/run/php-fpm/www.sock‘で開始され、PHP-FPMがシステム起動時に自動的に開始されるようになります。

出力の‘Created symlink …‘は、PHP-FPMサービスが有効であることを確認します。

sudo systemctl start php-fpm  
sudo systemctl enable php-fpm

出力:

start enable php-fpm

次に、以下のsystemctlコマンドを実行してPHP-FPMサービスのステータスを確認します。出力は、PHP-FPMが’active (running)‘であることを確認し、出力の’Loaded …/…/; enabled;‘は、PHP-FPMサービスが有効であることを確認します。

sudo systemctl status php-fpm

出力:

verify php-fpm

最後に、以下のphpコマンドを実行して、システムにインストールされているPHPバージョンを確認します。その後、システムで有効な拡張機能のリストを確認します。

PHP 8.2と有効なPHP拡張機能のリストが表示され、これらの拡張機能‘curl’, ‘openssl’, ‘pdo_mysql’, ‘zlib’が有効であることを確認してください。

php --version  
php -m

出力:

verify php version and extensions

これで、Rocky LinuxシステムにPHPとPHP-FPM 8.2をインストールしました。また、Nginxウェブサーバーで実行されるようにPHP-FPMを構成しました。次のステップでは、ソースコードをダウンロードしてFOSSBillingのインストールを開始します。

FOSSBillingソースコードのダウンロード

このステップでは、FOSSBillingのソースコードをダウンロードし、FOSSBillingのインストールディレクトリを’/var/www/fossbilling’に設定します。

始める前に、以下のdnfコマンドを実行してunzipパッケージをシステムにインストールします。

sudo dnf install unzip -y

次に、新しいディレクトリ’ /var/www/fossbilling‘を作成し、作業ディレクトリをそこに移動します。その後、以下のcurlコマンドを使用してFOSSBillingの最新の安定版をダウンロードできます。

mkdir -p /var/www/fossbilling; cd /var/www/fossbilling  
curl https://fossbilling.org/downloads/stable -L --output FOSSBilling.zip

出力:

download fossbilling

FOSSBillingのソースコードがダウンロードされると、作業ディレクトリにFOSSBilling.zipファイルが表示されます。以下のunzipコマンドを実行してファイル‘FOSSBilling.zip‘を抽出します。その後、FOSSBillingのインストールディレクトリ’ /var/www/fossbilling‘の所有権をユーザーおよびグループ’nginx‘に変更します。

unzip FOSSBilling.zip  
sudo chown -R nginx:nginx /var/www/fossbilling

FOSSBillingのソースコードがダウンロードされ、インストールディレクトリが構成されたので、次にFOSSBillingウェブアプリケーションを実行するために使用されるNginxサーバーブロックを設定します。

Nginxサーバーブロックの構成

このステップでは、FOSSBillingウェブアプリケーションを実行するために使用される新しいNginxサーバーブロック構成を設定します。始める前に、ドメイン名がサーバーのIPアドレスを指していることを確認してください。

以下のnanoエディタコマンドを使用して新しいNginxサーバーブロック設定ファイル’ /etc/nginx/conf.d/fossbilling.conf‘を作成します。

sudo nano /etc/nginx/conf.d/fossbilling.conf

以下の行をファイルに追加します。ターゲットインストールドメイン名’fossbilling.howtoforge.local‘を変更してください。

server {  
    listen 80;  
    
    set $root_path '/var/www/fossbilling';  
    server_name fossbilling.howtoforge.local;  
    
    index index.html index.htm index.php;  
    root $root_path;  
    try_files $uri $uri/ @rewrite;  
    sendfile off;  
      
    include /etc/nginx/mime.types;  
    
    # Block access to sensitive files and return 404 to make it indistinguishable from a missing file  
    location ~* .(ini|sh|inc|bak|twig|sql)$ {  
        return 404;  
    }  
    
    # Block access to hidden files except for .well-known  
    location ~ /.(?!well-known/) {  
        return 404;  
    }  
    
    # Disable PHP execution in /uploads  
    location ~* /uploads/.*.php$ {  
        return 404;  
    }  
    
    # Deny access to /data  
    location ~* /data/ {  
        return 404;  
    }  
    
    location @rewrite {  
        rewrite ^/page/(.*)$ /index.php?_url=/custompages/$1;  
        rewrite ^/(.*)$ /index.php?_url=/$1;  
    }  
    
    location ~ .php {  
        fastcgi_split_path_info ^(.+.php)(/.+)$;  
    
        # fastcgi_pass need to be changed according your server setup:  
        # phpx.x is your server setup  
        # examples: /var/run/phpx.x-fpm.sock, /var/run/php/phpx.x-fpm.sock or /run/php/phpx.x-fpm.sock are all valid options   
        # Or even localhost:port (Default 9000 will work fine)   
        # Please check your server setup  
    
        fastcgi_pass unix:/run/php-fpm/www.sock;  
    
        fastcgi_param PATH_INFO       $fastcgi_path_info;  
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
        fastcgi_intercept_errors on;  
    
        include fastcgi_params;  
    }  
    
    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {  
        root $root_path;  
        expires off;  
    }  
}

完了したら、ファイルを保存して終了します。

次に、以下のコマンドを実行してNginx設定を確認します。その後、変更を適用するためにNginxサービスを再起動します。Nginx設定のテストが成功した場合、’test successful - syntax ok‘のような出力が得られるはずです。

sudo nginx -t  
sudo systemctl restart nginx

出力:

setup nginx server block

この時点で、NginxウェブサーバーでFOSSBillingが実行されています。しかし、まだ安全でないHTTP接続です。次のステップでは、CertbotとLetsencryptを使用してFOSSBillingをSSL/TLS証明書で保護します。

SSL/TLS LetsencryptでFOSSBillingを保護する

Nginxサーバーブロック構成が作成されたので、次にCertbotツールとLetsencryptからの無料のSSL証明書を使用してFOSSBillingインストールをSSL/TLS証明書で保護します。

始める前に、ドメイン名がサーバーのIPアドレスを指していることを確認し、Letsencryptに登録するために使用されるメールアドレスを用意してください。

以下のdnfコマンドを実行してCertbotとCertbot Nginxプラグインをインストールします。プロンプトが表示されたらyを入力し、ENTERを押して続行します。

sudo dnf install certbot python3-certbot-nginx

出力:

install certbot

Certbotがインストールされたら、以下のコマンドを実行してドメイン名のSSL/TLS証明書を生成します。また、以下のコマンドでドメイン名とメールアドレスを変更してください。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d fossbilling.howtoforge.local

このコマンドにより、ドメイン名の新しいSSL/TLS証明書が生成されます。また、これによりNginxサーバーブロックでHTTPSが自動的に設定され、HTTPからHTTPSへの自動リダイレクトが設定されます。SSL/TLS証明書はディレクトリ‘/etc/elstencrypt/live/fossbilling.howtoforge.local/‘に生成されます。

FOSSBillingインストールの開始

ウェブブラウザを開き、FOSSBillingインストールのドメイン名(例: https://fossbilling.howtoforge.local/)にアクセスします。

FOSSBillingインストーラーは、システムの詳細をチェックして確認します。要件が’Ok‘の緑色のステータスを取得していることを確認してください。次へをクリックして続行します。

system checks

次に、作成したMariaDBデータベースとユーザーの詳細を入力し、再度次へをクリックします。

database settings

次に、FOSSBillingの新しい管理者の詳細を入力します。ユーザー名、メールアドレス、パスワード、デフォルト通貨を入力します。次に、次へをクリックして続行します。

setup admin

FOSSBillingのインストールが成功すると、’おめでとうございます!FOSSBillingが正常にインストールされました。’というメッセージが表示されます。

FOSSBillingインストールを完了するためのいくつかの指示も表示されます。

finishing

Rocky Linuxサーバーターミナルに戻り、以下のコマンドを実行してFOSSBillingインストールを完了します。

FOSSBillingの’install‘ディレクトリを削除します。

sudo rm -rf /var/www/fossbilling/install

FOSSBilling設定ファイル’config.php‘の権限を0644に変更します。これにより、他のユーザーとグループの’書き込み‘権限が削除されます。

sudo chmod 0644 /var/www/fossbilling/config.php

以下のコマンドを使用してFOSSBillingの新しいcronを作成します。

crontab -u nginx -e

使用するコードエディタを選択します。次に、ファイルに以下の行を入力します。

*/5 * * * * php /var/www/fossbilling/cron.php

完了したら、ファイルを保存してエディタを終了します。

finishing

ウェブブラウザに戻り、完了をクリックします。

次のページが表示されます。

installation finished

クライアントエリア‘ボタンをクリックすると、FOSSBillingのホームページにリダイレクトされます。

client area

管理者エリア‘ボタンをクリックすると、管理者ログインページにリダイレクトされます。

メールアドレスとパスワードでログインし、’サインイン‘をクリックします。

admin login

成功すると、FOSSBilling管理ダッシュボードが表示されます。

admin dashboard

これで、FOSSBillingのインストールが完了し、CertbotとLetsencryptを介してSSL/TLS証明書で保護されました。

結論

このガイドでは、Rocky Linux 9サーバーにオープンソースの請求およびユーザー管理システムFOSSBillingをインストールしました。また、Rocky LinuxシステムにLEMPスタック(Nginxウェブサーバー、MariaDBデータベース、PHP-FPM)を構成しました。さらに、CertbotとLetsencryptを介して生成されたSSL/TLS証明書でFOSSBillingインストールを保護しました。

ここから、FOSSBillingをビジネスに使用できます。さらにユーザーを追加したり、SMTPサーバーを設定したり、その他多くのことができます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。