インストールガイド · 1 min read · Nov 22, 2025
Ubuntu 22.04にSolidInvoiceをインストールする方法

SolidInvoiceは、PHPに基づいた無料でシンプル、かつエレガントな請求書ソリューションです。これは、小規模ビジネスが日々の請求業務を処理するために設計されています。SolidInvoiceは、統合のためのRESTful APIを提供し、テキストメッセージ、メール、またはHipChatなどのさまざまな通知チャネルを提供します。
このガイドでは、Ubuntu 22.04サーバーにSolidInvoiceをインストールする方法を示します。LAMPスタックを使用してSolidInvoiceを設定し、Certbotとletsencryptでインストールを保護します。
前提条件
始める前に、以下を確認してください:
- Ubuntu 22.04サーバー。
- sudo権限を持つ非rootユーザー。
- サーバーIPアドレスにポイントされたドメイン名。
依存関係のインストール
SolidInvoiceは、PHPとMySQLで書かれたオープンソースの請求書アプリケーションです。これをインストールするには、UbuntuシステムにLAMPスタックをインストールする必要があります。この最初のステップでは、デフォルトのUbuntuリポジトリからLAMPスタックをインストールします。
以下のコマンドでUbuntuパッケージインデックスを更新します。
sudo apt update次に、以下のコマンドを使用してLAMPスタック(Linux、Apache、MySQL/MariaDB、PHP)の依存関係をインストールします。この例では、SolidInvoiceのインストールにデフォルトのPHP 8.xを使用します。
sudo apt install apache2 mariadb-server mariadb-client php php-curl php-common php-mbstring php-json php-mysql php-opcache php-bcmath php-intl php-gd php-xml php-soap php-zip php-apcuインストールを確認するためにYを入力します。

インストールが完了したら、以下のコマンドを実行してApacheとMariaDBサービスのステータスを確認し、両方のサービスが実行中であることを確認します。
sudo systemctl status apache2
sudo systemctl status mysqlApacheまたはMariaDBが実行中の場合、出力にactive(running)が表示されます。

最後に、以下のコマンドでPHPのバージョンを確認します。UbuntuシステムにPHP 8.xがインストールされていることが確認できます。
php -vMariaDBサーバーの設定
LAMPスタックをインストールした後、MariaDBサーバーのインストールを設定する必要があります。まず、MariaDBサーバーを保護し、その後SolidInvoiceが使用する新しいデータベースとユーザーを作成します。
MariaDBサーバーのインストールを保護するには、以下を入力します:
sudo mariadb-secure-installationその過程で、MariaDBへの変更を確認するためにYを入力するか、拒否するためにNを入力します。以下は、プロンプトが表示されるMariaDBサーバーの設定です:
- デフォルトのMariaDBインストールにはパスワードがありません。パスワードを求められたらENTERを押します。
- 次に、MariaDBのrootパスワードを設定するためにYを入力します。その後、MariaDBの新しいパスワードを入力し、パスワードを繰り返します。
- MariaDBインストールから匿名ユーザーを削除するためにYを入力します。
- MariaDBのrootユーザーのリモートログインを無効にするように求められたら、再度Yを入力します。
- MariaDBからデフォルトのデータベースtestを削除するためにYを入力します。
- 最後に、テーブルの権限を再読み込みし、新しい変更を適用するためにYを入力します。
MariaDBを保護したので、以下を入力してデフォルトのrootユーザーとしてMariaDBにログインします。求められたらMariaDBのrootパスワードを入力します。
sudo mariadb -u root -pログインしたら、以下のクエリを実行して新しいデータベースsolidinvoicedb、ユーザーsolidinvoice、パスワードp4sswordを作成します。これらのデータベースの詳細はSolidInvoiceによって使用されるため、情報を変更してください。
CREATE DATABASE solidinvoicedb;
CREATE USER solidinvoice@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON solidinvoicedb.* TO solidinvoice@localhost;
FLUSH PRIVILEGES;
次に、以下のクエリを実行してユーザーsolidinvoiceの権限を確認します。ユーザーsolidinvoiceがデータベースsolidinvoicedbにアクセスできることを確認してください。
SHOW GRANTS FOR solidinvoice@localhost;最後に、quitと入力してMariaDBサーバーから退出します。

PHPの設定
MariaDBサーバーが保護され、設定されたので、PHPのインストールを設定します。この場合、デフォルトのPHP設定ファイルphp.iniを変更する必要があります。
nanoエディタを使用してデフォルトのPHP設定/etc/php/8.1/apache2/php.iniを開きます。
sudo nano /etc/php/8.1/apache2/php.iniデフォルトのPHP設定を以下のように変更し、memory_limitとdate.timezoneをサーバー環境に合わせて調整してください。
date.timezone = Europe/Amsterdam
memory_limit=512M
upload_max_filesize=64M
post_max_size=120M
max_execution_time=120ファイルを保存して終了します。
次に、以下のコマンドでApacheサービスを再起動してPHPへの変更を適用します。
sudo systemctl restart apache2SolidInvoiceのダウンロード
これでMariaDBとPHPが設定されたので、SolidInvoiceのソースコードをダウンロードし、適切な権限と所有権でインストールを設定できます。
/var/wwwディレクトリに移動し、wgetを使用してSolidInvoiceのソースコードをダウンロードします。最新バージョンを取得するには、SolidInvoiceのリリースページを確認してください。
cd /var/www/
wget https://github.com/SolidInvoice/SolidInvoice/releases/download/2.2.5/SolidInvoice-2.2.5.zipSolidInvoiceのソースコードをsolidinvoiceディレクトリに抽出し、所有権をwww-dataユーザーに変更します。したがって、SolidInvoiceインストールのDocumentRootまたはWeb-rootディレクトリは/var/www/solidinvoiceになります。
unzip SolidInvoice-2.2.5.zip -d solidinvoice
sudo chown -R www-data:www-data /var/www/solidinvoice次に、以下のコマンドを実行してwww-dataユーザーがSolidInvoiceのいくつかのディレクトリとファイルに書き込めることを確認します。
sudo chmod u+rw /var/www/solidinvoice/app/cache
sudo chmod u+rw /var/www/solidinvoice/app/logs
sudo chmod u+rw /var/www/solidinvoice/var/cache
sudo chmod u+rw /var/www/solidinvoice/var/logssudo chmod u+rw /var/www/solidinvoice/web/upload
sudo chmod u+rw /var/www/solidinvoice/app/config/parameters.ymlApache仮想ホストの設定
SolidInvoiceのDocumentRootディレクトリを設定した後、インストールを実行するために使用される新しいApache仮想ホストを作成する必要があります。したがって、SolidInvoiceのためにドメイン名を準備していることを確認してください。
まず、以下のコマンドを実行してApacheでrewriteモジュールを有効にします。
sudo a2enmod rewritenanoエディタコマンドを使用して新しいApache仮想ホスト設定/etc/apache2/sites-available/solidinvoice.confを作成します。
sudo nano /etc/apache2/sites-available/solidinvoice.conf以下の設定を挿入し、ServerNameオプションをターゲットドメインに変更してください。
ServerName invoice.howtoforge.local
ServerAlias www.invoice.howtoforge.local
DocumentRoot /var/www/solidinvoice/public
# .htaccessのリライトを有効にする
AllowOverride All
Order allow,deny
Allow from All
ErrorLog /var/log/apache2/solidinvoice.error.log
CustomLog /var/log/apache2/solidinvoice.access.log combined
ファイルを保存してエディタを終了します。
次に、以下のコマンドを入力して仮想ホストファイルsolidinvoice.confを有効にし、Apacheの構文を確認します。正しい構文がある場合、出力に’ Syntax OK ‘が表示されます。
sudo a2ensite solidinvoice.conf
sudo apachectl configtest最後に、以下のコマンドを入力してApacheを再起動し、新しい仮想ホストファイルsolidinvoice.confを適用します。実行後、SolidInvoiceが実行されているはずです。
sudo systemctl restart apache2
HTTPSでSolidInvoiceを保護する
この例では、Certbotとletsencryptを介してSSL/TLS証明書でSolidInvoiceを保護します。まず、Certbotをインストールし、SolidInvoiceのドメイン名用のSSL/TLS証明書を生成します。
まず、以下のコマンドでCertbotとCertbot Apacheプラグインをインストールします。インストールを確認するためにYを入力します。
sudo apt install certbot python3-certbot-apacheインストールが完了したら、以下のcertbotコマンドを使用してSSL/TLS証明書を生成します。ドメイン名とメールアドレスの情報を自分の詳細に変更してください。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.localプロセスが完了すると、SSL/TLS証明書は/etc/letsencrypt/live/domain.comディレクトリに利用可能になります。また、SolidInvoiceのインストールは自動的にHTTPSで保護されます。
SolidInvoiceのインストール
ウェブブラウザを開き、https://invoice.howtoforge.local/のようなドメイン名にアクセスします。システム要件チェックで、すべてが正常であることを確認し、次に次へをクリックして確認します。

データベースドライバーをMySQLに選択し、SolidInvoice用のMariaDBデータベースとユーザーの詳細を入力します。完了したら、再度次へをクリックします。

これでSolidInvoiceのデータベーススキーマが作成されたことが確認でき、次へをクリックして続行します。

システム設定では、デフォルトのロケールを英語に設定し、管理ユーザー、メール、およびパスワードの詳細を入力します。次に、再度次へをクリックして確認します。

インストールが完了すると、出力に’ SolidInvoiceを正常にインストールしました! ‘とcronジョブを作成するための追加の指示が表示されます。

サーバーターミナルに戻り、以下のコマンドでユーザーwww-dataの新しいcronジョブを作成します。
sudo crontab -u www-data -eページからcrontabスクリプトを貼り付け、ファイルを保存して閉じます。
* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -nウェブブラウザに戻り、ログインをクリックします。

会社名とデフォルト通貨を作成するように求められます。作成をクリックして確認します。

すべてがうまくいけば、次のようなSolidInvoiceダッシュボードが表示されるはずです。

結論
おめでとうございます!Ubuntu 22.04サーバーにSolidInvoiceをインストールしました。LAMPスタック(Apache、MySQL/MariaDB、PHP)でSolidInvoiceを実行し、Letsencryptを介してHTTPSでインストールを保護しました。これで、SolidInvoiceにSMTPサーバーなどの新しいコンポーネントを追加して使用できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。