インストールガイド · 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を入力します。

install deps

インストールが完了したら、以下のコマンドを実行してApacheとMariaDBサービスのステータスを確認し、両方のサービスが実行中であることを確認します。

sudo systemctl status apache2  
sudo systemctl status mysql

ApacheまたはMariaDBが実行中の場合、出力にactive(running)が表示されます。

check apache

最後に、以下のコマンドでPHPのバージョンを確認します。UbuntuシステムにPHP 8.xがインストールされていることが確認できます。

php -v

MariaDBサーバーの設定

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;

create datbase and user

次に、以下のクエリを実行してユーザーsolidinvoiceの権限を確認します。ユーザーsolidinvoiceがデータベースsolidinvoicedbにアクセスできることを確認してください。

SHOW GRANTS FOR solidinvoice@localhost;

最後に、quitと入力してMariaDBサーバーから退出します。

check db

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_limitdate.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 apache2

SolidInvoiceのダウンロード

これで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.zip

SolidInvoiceのソースコードを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/logs
sudo chmod u+rw /var/www/solidinvoice/web/upload  
sudo chmod u+rw /var/www/solidinvoice/app/config/parameters.yml

Apache仮想ホストの設定

SolidInvoiceのDocumentRootディレクトリを設定した後、インストールを実行するために使用される新しいApache仮想ホストを作成する必要があります。したがって、SolidInvoiceのためにドメイン名を準備していることを確認してください。

まず、以下のコマンドを実行してApacheでrewriteモジュールを有効にします。

sudo a2enmod rewrite

nanoエディタコマンドを使用して新しい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

setup apache

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/のようなドメイン名にアクセスします。システム要件チェックで、すべてが正常であることを確認し、次に次へをクリックして確認します。

requirements

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

db configuration

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

db migrations

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

setup admin

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

installation finished

サーバーターミナルに戻り、以下のコマンドでユーザーwww-dataの新しいcronジョブを作成します。

sudo crontab -u www-data -e

ページからcrontabスクリプトを貼り付け、ファイルを保存して閉じます。

* * * * * php /var/www/solidinvoice/bin/console cron:run -e prod -n

ウェブブラウザに戻り、ログインをクリックします。

login

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

create orgz

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

dashboard

結論

おめでとうございます!Ubuntu 22.04サーバーにSolidInvoiceをインストールしました。LAMPスタック(Apache、MySQL/MariaDB、PHP)でSolidInvoiceを実行し、Letsencryptを介してHTTPSでインストールを保護しました。これで、SolidInvoiceにSMTPサーバーなどの新しいコンポーネントを追加して使用できます。

Share: X/Twitter LinkedIn

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

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