ubuntu20.04.1に「Invoice Ninja」をインストールする
- 作成日 2020.08.22
- 更新日 2022.03.02
- Invoice Ninja ubuntu
- Invoice Ninja, ubuntu20.04.1, インストール
ubuntu20.04.1にオープンソースの請求管理用ツール「Invoice Ninja」をインストールする手順を記述してます。webサーバーにはnginxを使用します。
環境
- OS ubuntu 20.04.1
- ninja 4.5.19
- nginx 1.18.0
- mysql 8.0.21
- php 7.3
必要パッケージインストール
php7.4だと以下のエラーが発生するので、
Trying to access array offset on value of type int
php7.3をインストールするため以下のリポジトリを追加します。
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
※ubuntu20.04.1 phpのバージョンを切り替える手順はこちら
sudo apt install nginx mysql-server php7.3-fpm php7.3-cli php7.3-common php7.3-curl php7.3-gd php7.3-mysql php7.3-xml php7.3-mbstring
Mysql設定
mysqlの初期設定を行います。
sudo mysql_secure_installation
rootのパスワードだけ設定すれば後は、全て「y」で問題ないです。
Press y|Y for Yes, any other key for No: n
Please set the password for root here.
New password:
Re-enter new password:
mysqlにログインしてDBとユーザーを作成します。
※mysql8ではroot以外のユーザーでrootでログインしようとすると「ERROR 1698 (28000): Access denied for user ‘root’@’localhost’」が発生します。
詳しくはこちら
ログインします。
sudo mysql -u root -p
DBやユーザーを作成します。
//DB作成
mysql> CREATE SCHEMA `ninja` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
//ユーザー作成
mysql> CREATE USER 'ninja'@'%' IDENTIFIED BY 'password';
//認証方式をmysql_native_passwordに変更
mysql> ALTER USER 'ninja'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
//DBへのアクセス権を設定
mysql> GRANT ALL PRIVILEGES ON ninja.* TO 'ninja'@'%' WITH GRANT OPTION;
//GRANTテーブルから再読込
mysql> FLUSH PRIVILEGES;
//抜ける
mysql> \q
※mysql8でユーザーに権限を付与する手順はこちら
Invoice Ninjaダウンロード
wgetでダウンロードします。
wget https://download.invoiceninja.com/ -O /tmp/invoice-ninja.zip
「/var/www/html」に解凍します。
sudo unzip /tmp/invoice-ninja.zip -d /var/www/html/
権限を設定しておきます。
sudo chown -R www-data: /var/www/html/ninja
Nginx設定
nginxの設定ファイルを作成します。
sudo nano /etc/nginx/sites-available/ip_or_domain.conf
自分の環境では以下の内容で記述してます。
※「10.10.10.100」はサーバーのプライベートIPとなります。
server {
listen 80 default_server;
server_name 10.10.10.100;
root /var/www/html/ninja/public;
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log /var/log/nginx/10.10.10.100.access.log;
error_log /var/log/nginx/10.10.10.100.error.log;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
ポート80番を使用するので「default」の方を変更しておきます。
sudo nano /etc/nginx/sites-available/default
<編集>
server {
listen 81 default_server; → 81番に変更
シンボリックリンクを作成してアクティブにします。
sudo ln -s /etc/nginx/sites-available/ip_or_domain.conf /etc/nginx/sites-enabled/ip_or_domain.conf
nginxを再起動します。
sudo service nginx restart
Invoice Ninjaインストール
ブラウザから http://プライベートIP or サーバーアドレス にアクセスします。
URLを設定します。自分はIPアドレスにしてます。
DBの設定です。キャプチャはありませんが、メールの設定もあります。
userの作成です。入力が終われば、チェックボックスに2つチェックを入れて「Submit」をクリックします。
作成したアカウントでログインします。
以下の画面が表示されれば構築は完了です。
-
前の記事
jquery children().lengthメソッドを使ってtableにある行数をカウントする 2020.08.22
-
次の記事
OpenSUSE 15.2にapacheとphpをインストールする手順 2020.08.22
コメントを書く