Invoice Ninjaは、請求、支払い、時間追跡などを行うためのWebベースのオープンソースソフトウェアです。オンラインで数秒で請求書を作成し、Stripe、PayPal、WePayなどの支払いゲートウェイとやり取りできます。請求書忍者は、PDF形式でライブの請求書プレビューを表示できます。テンプレートの会社のロゴは自分で簡単に変更できます。 Invoice NinjaはPHPに基づいており、Laravel Frameworkでビルドされ、LinuxとWindowsにインストールできます。
このチュートリアルでは、Ubuntu16.04にInvoiceNinjaをインストールする方法を紹介します。 WebサーバーとしてNginxを使用し、データベースシステムとしてMariaDBを使用します。
前提条件
- Ubuntu16.04サーバー。
- root権限。
このステップでは、NginxWebサーバーをインストールします。 ssh rootアカウントでサーバーに接続し(または別のユーザーでログインし、「sudo -s」を使用してrootになります)、リポジトリを更新します。
ssh [email protected]
apt-get update
以下のaptコマンドを使用してNginxをインストールします:
apt-get install -y nginx
nginxのインストールが完了したら、Nginxを起動し、起動時に開始するように追加します。
systemctl start nginx
systemctl enable nginx
nginxが実行されていることを確認してください。 nginxが使用するポートを確認してください。デフォルトのWebサーバーポートは80です。
netstat -plntu
Nginxをインストールした後、パッケージmariadb-serverをシステムにインストールする必要があります。 Ubuntuリポジトリで入手できます。以下のコマンドを使用して、mariadb-serverとその依存関係をインストールします。
apt-get install -y mariadb-server
インストールが完了したら、mariadbサービスを開始し、これらのsystemctlコマンドを使用して起動時に開始できるようにします。
systemctl restart mysql
systemctl enable mysql
MariaDBが起動し、以下のコマンドでmariadbのrootパスワードを設定できるようになりました。
mysql_secure_installation
新しいMariaDBルートパスワードを設定します。
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
次に、rootユーザーとしてmysqlシェルに接続してみます。
mysql -u root -p
TYPE YOUR ROOT PASSWORD
すべてが正しく機能すると、MySQLシェルが表示されます。
次に、InvoiceNinjaの新しいデータベースと新しいユーザーを作成する必要があります。 ' ninjadbという名前の新しいデータベースを作成します '、新規ユーザー'忍者 'パスワード付き'aqwe123 '。インストール用に別の安全なパスワードを選択してください!
以下のmysqlクエリを使用してそれらを作成します。新しいデータベースを作成し、新しいユーザーとパスワードを作成し、パスワードを使用して新しいユーザーにデータベースを付与します。
create database ninjadb;
create user [email protected] identified by 'aqwe123';
grant all privileges on ninjadb.* to [email protected] identified by 'aqwe123';
flush privileges;
MariaDBがインストールされ、InvoiceNinjaの新しいデータベースとユーザーが作成されました。
Invoice NinjaはPHPに基づいているため、システムにPHPをインストールする必要があります。この請求書忍者のインストールにはPHP7.0-FPMを使用します。
以下のコマンドを使用して、InvoiceNinjaに必要なPHP7.0-FPMおよびその他のPHP拡張機能をインストールします。
apt-get install -y php7.0-fpm php7.0-gd php7.0-xml php7.0-mysql php7.0-zip php7.0-mbstring php7.0-mcrypt php7.0-curl php7.0-gmp
インストール後、PHP構成ディレクトリに移動し、php.iniファイルを編集します。
cd /etc/php/7.0/
vim fpm/php.ini
以下のCGI行のコメントを解除し、値を0に変更します。
cgi.fix_pathinfo=0
保存して終了します。
cliディレクトリのphp.iniファイルを編集します。
vim cli/php.ini
以下のCGI行のコメントを解除し、値を0に変更します。
cgi.fix_pathinfo=0
保存して終了します。
次に、PHP7.0-FPMを起動し、起動時に起動できるようにします。
systemctl restart php7.0-fpm
systemctl enable php7.0-fpm
デフォルトでは、PHP7.0-FPMはソケットファイルで実行されています。以下のコマンドで確認すると、スクリーンショットに示すようなPHPソケットファイルが表示されます。
netstat -pl
PHP7.0-FPMおよびInvoiceNinjaに必要なすべての拡張機能がインストールされています。
このステップでは、InvoiceNinjaをダウンロードして構成します。まず、unzipをシステムにインストールします。
apt-get install -y unzip
' / var / www'に移動します ディレクトリを作成し、wgetコマンドを使用してInvoiceNinjaソースコードをダウンロードします。
cd /var/www/
wget https://download.invoiceninja.com/ninja-v3.1.0.zip
Invoice Ninja zipファイルを抽出し、「ninja」ディレクトリに移動します。
unzip ninja-v3.1.0.zip
cd ninja/
Laravelプロジェクトでは、PHP用のcomposer依存関係マネージャーをインストールする必要があります。 Ubuntuリポジトリで利用できるので、aptコマンドでインストールできます。
apt-get install -y composer
次に、以下のcomposerコマンドを使用してInvoiceNinjaの依存関係をインストールします。
composer install --no-dev -o
- -no-dev :require-devパッケージのインストールを無効にします
- -o :オートローダーダンプ中にオートローダーを最適化する
依存関係のインストールが完了したら、.envファイルをコピーしてvimで編集します。
cp .env.example .env
vim .env
以下のデータベース設定の値を変更してください。
DB_DATABASE=ninjadb
DB_USERNAME=ninja
DB_PASSWORD=aqwe123
保存して終了します。
次に、configディレクトリのデータベース構成を編集します。
vim config/database.php
MariaDB /MySQLデータベースを使用しています。MySQLの55行目に移動します。
'database' => env('DB_DATABASE', 'ninjadb'),
'username' => env('DB_USERNAME', 'ninja'),
'password' => env('DB_PASSWORD', 'aqwe123'),
パスワードを忍者ユーザー用に設定したものに置き換えてください!
保存して終了します。
すべての構成ファイルが編集されます。次に、以下のコマンドを使用してデータベースを移行します。
php artisan migrate
コマンドを実行するように求められます。「はい」と入力します。 'そしてEnterキーを押します。
次に、すべてのレコードをデータベースにシードします。
php artisan db:seed
「はい」と入力します 'そしてEnterキーを押して確認します。
LaravelプロジェクトのInvoiceNinjaの新しいアプリケーションキーを生成します。
php artisan key:generate
アプリケーションキーが表示されます。
app.phpファイルをvimで編集します。
vim config/app.php
APP_KEYの85行目に移動し、生成したキーを貼り付けます。
'key' => env('APP_KEY', 'base64:0o5QLWbNeDCNer064+600Hl8oJ20OPCIymadKJQ1RGo='),
保存して終了します。
最後に、' / var / www / ninjaの所有者を変更します 'ディレクトリから'www-data 'ユーザーとグループ。
cd /var/www/
chown -R www-data:www-data ninja/
Invoice Ninjaが構成され、インストールの準備ができています。
このステップでは、OpenSSLコマンドを使用してSSL証明書ファイルを生成し、InvoiceNinjaの新しい仮想ホスト構成を作成します。ライブサーバーを使用している場合は、OpenSSLで自己署名SSL証明書を生成する代わりに、Let'sEncryptの無料のSSLを使用できます。
新しい'証明書を作成します 'SSLファイルのディレクトリ。
mkdir -p /etc/nginx/cert/
以下のopensslコマンドを実行して、証明書ファイルを生成します。
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key
証明書ファイルのアクセス許可を「600」に変更します。
chmod 600 /etc/nginx/cert/*
次に、Nginxディレクトリに移動し、「 ninja」という名前の新しい仮想ホスト構成ファイルを作成します。 '。
cd /etc/nginx/
vim sites-available/ninja
以下に仮想ホスト構成を貼り付けます。
server {
# Your Domain Name - hakase-labs.co
listen 80;
server_name ninja.co www.ninja.co;
# Rewrite redirect to https
add_header Strict-Transport-Security max-age=2592000;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
# Your Domain Name - hakase-labs.co
listen 443 default;
server_name ninja.co www.ninja.co;
# Enable SSL for Invoice Ninja
ssl on;
ssl_certificate /etc/nginx/cert/ninja.crt;
ssl_certificate_key /etc/nginx/cert/ninja.key;
ssl_session_timeout 5m;
ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
# Invoice Ninja web root files
root /var/www/ninja/public;
index index.html index.htm 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 and Error Log for Invoice Ninja
access_log /var/log/nginx/ininja.access.log;
error_log /var/log/nginx/ininja.error.log;
sendfile off;
# Handle PHP Applications
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-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;
}
}
保存して終了します。
忍者仮想ホストを有効にして、Nginx構成をテストし、エラーがないことを確認します。
ln -s /etc/nginx/sites-available/ninja /etc/nginx/sites-enabled/
nginx -t
次に、nginxWebサーバーを再起動します。
systemctl restart nginx
InvoiceNinja仮想ホストの構成が完了しました。
Webブラウザーを開き、請求書忍者URL:ninja.coと入力します。 https接続とセットアップページにリダイレクトされます。
アプリケーション設定、データベース接続、電子メール設定、ユーザーの詳細を入力し、請求書忍刀を確認します。
[送信]をクリックします 'そして、請求書忍者のログインページにリダイレクトされます。
メールアドレスとパスワードを入力し、[ログイン]を押します '。
請求書忍者ダッシュボードが表示されます。
請求書忍者設定ページ。
Ubuntu16.04にNginxとMariaDBをインストールしたInvoiceNinja。