本文介绍在CentOS 8 Linux服务器上安装和配置Invoice Ninja的具体步骤,将用LAMP服务器(CentOS Linux、Apache Web、MariaDB和PHP)来安装Invoice Ninja,硬件级别的最低要求仅为512mb的ram和1 vcpu。现在以超级用户或能够使用sudo运行命令的用户身份登录到CentOS 8 Linux服务器,运行ssh username@serverip,请自行更改serverip,拥有终端访问权后,请更新操作系统,运行sudo dnf -y update && sudo systemctl reboot命令。
步骤1:安装所需的PHP和扩展 确保CentOS 8 Linux上安装了所需的PHP和扩展: sudo dnf -y install @php sudo dnf -y install php-{cli,fpm,gd,mbstring,curl,zip,xml,pdo,mysqlnd,pear,bcmath,json} 检查PHP版本以确认安装成功: $ php --version PHP 7.2.24 启动并启用php-fpm服务: sudo systemctl enable --now php-fpm 检查状态,它应该正在运行: $ systemctl status php-fpm 参考:在CentOS 8/RHEL 8系统中安装PHP 7.4的方法。
步骤2:安装和配置MariaDB数据库 我们将选择MariaDB数据库来运行Invoice Ninja应用程序,也可以使用其他数据库,例如MySQL和PostgreSQL。 在终端中运行以下命令,以在CentOS 8 Linux系统上安装MariaDB服务器: sudo dnf -y install @mariadb 启动并设置要在系统引导时启动的数据库: sudo systemctl enable --now mariadb 可设置root密码保护数据库的安全: $ sudo mysql_secure_installation 为在CentOS 8上运行的Invoice Ninja创建数据库和用户: $ mysql -u root -p CREATE DATABASE invoice_ninja; GRANT ALL ON invoice_ninja.* TO invoice_ninja@localhost IDENTIFIED BY "Str0ngDBP@ssw0rd"; FLUSH PRIVILEGES; QUIT 测试数据库用户连接: $ mysql -u invoice_ninja -p'Str0ngDBP@ssw0rd' 参考:在CentOS 8/CentOS 7服务器中安装MariaDB 10.5版数据库的方法。
步骤3:安装和配置Apache httpd服务器 接下来,我们安装Apache httpd服务器: sudo dnf -y install @httpd mod_ssl 启动并启用服务: sudo systemctl enable --now httpd 在防火墙中允许httpd和https服务: sudo firewall-cmd --add-port={http,https} --permanent sudo firewall-cmd --reload 安装wget和unzip: sudo dnf -y install zip wget 下载Invoice Ninja应用程序: wget https://download.invoiceninja.com/ -O invoice-ninja.zip 确认文件已下载并本地保存到服务器: $ file invoice-ninja.zip invoice-ninja.zip: Zip archive data, at least v1.0 to extract 解压缩文件: unzip invoice-ninja.zip 将创建的目录移动到/var/www/html: sudo mv ninja /var/www/html/invoice-ninja 设置正确的目录权限: sudo chown -R apache:apache /var/www/html/invoice-ninja sudo chmod -R 755 /var/www/html/invoice-ninja/storage/ 创建Apache配置文件: sudo vi /etc/httpd/conf.d/invoice-ninja.conf 添加以下内容: <VirtualHost *:80> ServerName invoices.computingforgeeks.com DocumentRoot /var/www/html/invoice-ninja/public <Directory /var/www/html/invoice-ninja/public> DirectoryIndex index.php Options +FollowSymLinks AllowOverride All Require all granted </Directory> CustomLog /var/log/httpd/invoice_ninja_access.log combined ErrorLog /var/log/httpd/invoice_ninja_error.log </VirtualHost> 确认配置文件语法: $ sudo apachectl -t Syntax OK
步骤4:为Invoice Ninja域配置SSL 为了安全起见,我们需要获取有效的SSL证书,您可以使用自签名证书,免费的Let's Encrypt SSL证书或授权CA签名的证书。 我将使用“Let’s Encrypt SSL”,我们首先需要停止httpd Web服务器: sudo systemctl stop httpd 下载certbot工具: sudo wget https://dl.eff.org/certbot-auto -P /usr/local/bin sudo chmod a+x /usr/local/bin/certbot-auto 要求证书,如,请根据自身的数据进行更改: export DOMAIN='invoices.computingforgeeks.com' export EMAIL="webmaster@computingforgeeks.com" certbot-auto certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring 参考:使用Certbot:在Linux上安装letsencrypt的最简单方法。 重新配置您的Apache服务器,如下: <VirtualHost *:80> ServerName invoices.computingforgeeks.com DocumentRoot /var/www/html/invoice-ninja/public RewriteEngine On RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L] </VirtualHost> SSLEngine on SSLCertificateFile /etc/letsencrypt/live/invoices.computingforgeeks.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/invoices.computingforgeeks.com/privkey.pem <VirtualHost *:443> ServerName invoices.computingforgeeks.com DocumentRoot /var/www/html/invoice-ninja/public <Directory /var/www/html/invoice-ninja/public> DirectoryIndex index.php Options +FollowSymLinks AllowOverride All Require all granted </Directory> CustomLog /var/log/httpd/invoice_ninja_access.log combined ErrorLog /var/log/httpd/invoice_ninja_error.log </VirtualHost> 重新启动apache Web服务器: sudo systemctl restart httpd 打开您的Web浏览器并加载配置的域,它必须在您的/etc/hosts或有效的DNS中。 检查SSL证书信息:
提供URL和数据库连接值:
创建第一个将成为管理员的用户:
安装完成后,使用用户名和密码设置登录:
您将被带到Invoice Ninja仪表板中,如下图所示:
至此,安装和配置Invoice Ninja全部完成。
相关主题 |