在Arch Linux上使用Makepkg
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
忍者发票(Invoice Ninja)是一个免费的开源Web应用程序软件,可用于发票,付款,时间跟踪等。这是为客户开票和开票的最佳解决方案。您可以在几秒钟内轻松地在线创建和发送发票。发票忍者使您可以创建自己的自定义发票,并将实时发票显示为PDF文件。
在本教程中,我将向您解释如何在CentOS 7服务器上安装Invoice Ninja。
在CentOS服务器实例上安装任何软件包之前,建议先更新系统。以sudo用户身份通过SSH登录到服务器,并运行以下命令:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
开始之前,您需要在服务器中安装LEMP(Nginx,MariaDB和PHP)。
首先,使用以下命令安装Nginx和MariaDB:
sudo yum install nginx mariadb-server -y
安装完成后,启动Nginx和MariaDB服务,并使它们能够在启动时启动:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mariadb
sudo systemctl enable mariadb
接下来,您将需要PHP7和PHP7.0-FPM来安装Invoice Ninja。
首先,使用以下命令将PHP7.0存储库添加到系统中:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
接下来,使用以下命令安装PHP7.0-FPM和其他必需的PHP扩展:
sudo yum install install php70w-fpm php70w-cli php70w-pear php70w-gd php70w-xml php70w-curl php70w-gmp php70w-pdo php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt -y
安装完成后,您将需要修改php.ini配置文件:
sudo nano /etc/php.ini
更改以下行:
cgi.fix_pathinfo=0
保存并关闭文件。
默认情况下,MariaDB安装不受保护,因此您首先需要保护它。您可以通过运行mysql 安全安装脚本来执行此操作:
sudo mysql_secure_installation
回答所有问题,如下所示:
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
完成所有操作后,使用以下命令连接MySQL Shell:
mysql -u root -p
输入您的root密码,然后按Enter,您将看到MySQL shell:
接下来,为“发票忍者”创建一个新的数据库和一个新用户:
MariaDB [(none)]> CREATE DATABASE ninja_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ninja_db.* TO 'ninja'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
接下来,您将需要为Nginx用户配置PHP-FPM池:
sudo nano /etc/php-fpm.d/www.conf
更改以下行:
user = nginx
group = nginx
listen = /var/run/php/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
完成后保存并关闭文件。
接下来,您将需要为PHP会话和套接字文件创建一个新目录:
sudo mkdir -p /var/lib/php/session
sudo mkdir -p /var/run/php/
sudo chown -R nginx:nginx /var/lib/php/session/
sudo chown -R nginx:nginx /var/run/php/
最后,启动PHP7.0-FPM服务并将其添加到启动时启动:
sudo systemctl start php-fpm
systemctl enable php-fpm
您可以使用以下命令从GitHub存储库中下载Invoice Ninja的最新稳定版本:
cd /var/www/html/
sudo git clone https://github.com/hillelcoren/invoice-ninja.git ninja
您还需要安装Dependency Manager for PHP(composer)。您可以使用以下命令来安装它:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
接下来,使用composer命令安装所有Invoice Ninja依赖项,如下所示:
cd /var/www/html/ninja
sudo composer install --no-dev -o
安装完成后,重命名.env文件并进行一些更改:
sudo mv .env.example .env
sudo nano .env
更改行,如下所示:
DB_DATABASE=ninja_db
DB_USERNAME=ninja
DB_PASSWORD=password
完成后保存文件,然后运行以下命令以准备数据库:
sudo php artisan migrate
系统将提示您运行命令,键入“是”,然后按“输入”。
接下来,为数据库播种记录,如下所示:
sudo php artisan db:seed
输入“是”,然后按“输入”。
接下来,更改/var/www/html/ninja目录的所有权:
sudo chown -R nginx:nginx /var/www/html/ninja/
接下来,您将需要创建一个SSL证书并为Invoice Ninja创建一个新的虚拟主机配置。
首先,为SSL创建目录:
sudo mkdir -p /etc/nginx/cert/
接下来,使用以下命令生成SSL证书:
sudo openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/ninja.crt -keyout /etc/nginx/cert/ninja.key
接下来,对证书文件授予适当的权限:
sudo chmod 600 /etc/nginx/cert/*
接下来,在/ etc / nginx /目录中创建一个新的虚拟主机配置文件:
sudo nano /etc/nginx/conf.d/ninja.conf
添加以下行:
server {
listen 80;
server_name 192.168.15.23;
add_header Strict-Transport-Security max-age=2592000;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
listen 443 default;
server_name 192.168.15.23;
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;
root /var/www/html/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:/var/run/php/php-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 Web服务器:
sudo systemctl restart nginx
在访问Invoice Ninja Web界面之前,您需要允许Firewalld允许http和https服务。运行以下命令以打开端口:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
最后,打开Web浏览器并键入URL https://192.168.15.23,然后完成所需的步骤以完成安装。
恭喜你!我们已在CentOS 7服务器上成功将Ningx和MariaDB安装了Invoice Ninja。
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息