インストールガイド · 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出力:

Nginxがインストールされたら、以下のsystemctlコマンドを実行してNginxサービスを開始および有効にします。これにより、NginxがデフォルトのHTTPポート80で起動し、システム起動時に自動的にNginxが実行されるようになります。
sudo systemctl start nginx
sudo systemctl enable nginx次に、以下のsystemctlコマンドユーティリティを使用してNginxサービスのステータスを確認します。Nginxサービスが実行中であり、有効であるという出力を受け取るはずです。
sudo systemctl status nginx出力:

Nginxサービスが現在実行中です。firewalldでHTTPおよびHTTPSプロトコルの両方を開く必要があります。これを実現するには、以下のfirewall-cmdコマンドを実行できます。
sudo firewall-cmd --add-service={http,https} --permanentHTTPおよびHTTPSプロトコルがfirewalldに追加されたら、以下のコマンドを実行してfirewalldをリロードし、変更を適用します。その後、firewalldで有効なサービスのリストを確認します。
HTTPおよびHTTPSプロトコルがfirewalldに追加されたことが確認できるはずです。
sudo firewall-cmd --reload
sudo firewall-cmd --list-all出力:

これで、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出力:

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出力:

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 -pMariaDBシェルにログインしたら、以下のクエリを実行して新しい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;出力:

最後に、以下のクエリを実行してMariaDBユーザーfossbilling@localhostを確認し、ユーザーが’fossbillingdb‘データベースにアクセスする権限を持っていることを確認します。
出力の‘GRANT ALL PRIVILEGES ON fossbillingdb. to fossbilling@localhost‘は、ユーザーfossbilling@localhostがデータベース’fossbillingdb*’にアクセスする権限を持っていることを確認します。
quitと入力してMariaDBシェルからログアウトします。
SHOW GRANTS FOR fossbilling@localhost;
quit出力:

これで、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出力:

次に、以下のdnfコマンドを実行してPHPのリポジトリモジュールをリセットします。その後、システムで利用可能なPHPリポジトリモジュールのリストを確認します。
sudo dnf module reset php
sudo dnf module list phpRemiリポジトリのGPGキーを設定するように求められたら、yを入力して確認し、ENTERを押します。

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

以下のコマンドを実行して、’remi-8.2‘のPHPリポジトリを有効にします。これにより、PHPパッケージをインストールするたびに、RemiリポジトリからPHP 8.2パッケージがインストールされます。
プロンプトが表示されたらyを入力し、ENTERを押して有効にします。
sudo dnf module enable php:remi-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出力:

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

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出力:

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

最後に、以下のphpコマンドを実行して、システムにインストールされているPHPバージョンを確認します。その後、システムで有効な拡張機能のリストを確認します。
PHP 8.2と有効なPHP拡張機能のリストが表示され、これらの拡張機能‘curl’, ‘openssl’, ‘pdo_mysql’, ‘zlib’が有効であることを確認してください。
php --version
php -m出力:

これで、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出力:

FOSSBillingのソースコードがダウンロードされると、作業ディレクトリにFOSSBilling.zipファイルが表示されます。以下のunzipコマンドを実行してファイル‘FOSSBilling.zip‘を抽出します。その後、FOSSBillingのインストールディレクトリ’ /var/www/fossbilling‘の所有権をユーザーおよびグループ’nginx‘に変更します。
unzip FOSSBilling.zip
sudo chown -R nginx:nginx /var/www/fossbillingFOSSBillingのソースコードがダウンロードされ、インストールディレクトリが構成されたので、次に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出力:

この時点で、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出力:

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‘の緑色のステータスを取得していることを確認してください。次へをクリックして続行します。

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

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

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

Rocky Linuxサーバーターミナルに戻り、以下のコマンドを実行してFOSSBillingインストールを完了します。
FOSSBillingの’install‘ディレクトリを削除します。
sudo rm -rf /var/www/fossbilling/installFOSSBilling設定ファイル’config.php‘の権限を0644に変更します。これにより、他のユーザーとグループの’書き込み‘権限が削除されます。
sudo chmod 0644 /var/www/fossbilling/config.php以下のコマンドを使用してFOSSBillingの新しいcronを作成します。
crontab -u nginx -e使用するコードエディタを選択します。次に、ファイルに以下の行を入力します。
*/5 * * * * php /var/www/fossbilling/cron.php完了したら、ファイルを保存してエディタを終了します。

ウェブブラウザに戻り、完了をクリックします。
次のページが表示されます。

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

‘管理者エリア‘ボタンをクリックすると、管理者ログインページにリダイレクトされます。
メールアドレスとパスワードでログインし、’サインイン‘をクリックします。

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

これで、FOSSBillingのインストールが完了し、CertbotとLetsencryptを介してSSL/TLS証明書で保護されました。
結論
このガイドでは、Rocky Linux 9サーバーにオープンソースの請求およびユーザー管理システムFOSSBillingをインストールしました。また、Rocky LinuxシステムにLEMPスタック(Nginxウェブサーバー、MariaDBデータベース、PHP-FPM)を構成しました。さらに、CertbotとLetsencryptを介して生成されたSSL/TLS証明書でFOSSBillingインストールを保護しました。
ここから、FOSSBillingをビジネスに使用できます。さらにユーザーを追加したり、SMTPサーバーを設定したり、その他多くのことができます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。