禁用防火墻 如有安全需要求則手動放通端口
systemctl stop firewalld
systemctl disable firewalld
禁用selinux
vim /etc/selinux/config
SELINUX=disabled
安裝yum工具包集合
yum install -y yum-utils
依賴包安裝
yum install -y openssl-devel gcc gcc-++ gcc-c++ wget make libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel bison autoconf sqlite-devel oniguruma-devel
配置PNP源
yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
安裝PHP
yum-config-manager --enable remi-php81
yum repolist all |grep php
yum install -y php php-{cli,fpm,fileinfo,ldap,mysqlnd,zip,devel,gd,mbstring,curl,xml,xmlrpc,pear,bcmath,json}
php -v
PHP 8.1.20 (cli) (built: Jun 6 2023 23:02:31) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.20, Copyright (c) Zend Technologies
修改參數
vim /etc/php.ini
zlib.output_compression = On
服務啟動
systemctl start php-fpm
systemctl enable php-fpm
創建nginx帳號
useradd nginx -s /sbin/nologin
https://nginx.org/download/nginx-1.20.2.tar.gz
解壓nginx安裝包
tar zxf nginx-1.20.2.tar.gz -C /usr/local/
cd /usr/local/nginx-1.20.2/
編譯
./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --user=nginx --group=nginx
安裝
make && make install
配置systemctl托管nginx
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target remote-fs.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecReload=/usr/local/nginx/sbin/nginx -s reload
[Install]
WantedBy=multi-user.target
刷新服務及啟動服務
systemctl daemon-reload && systemctl start nginx
查看服務
systemctl status nginx
配置nginx.conf
備份配置文件
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
輯配置文件
vim /usr/local/nginx/conf/nginx.conf
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root /usr/local/nginx/html/public/; #改為chemex路徑
location / { #web服務器的偽靜態規則
index index.html index.htm index.php;
try_files uri/ /index.php?
{
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/public/$fastcgi_script_name; ##改為chemex路徑
include fastcgi_params;
}
}
}
配置nginx自啟動
systemctl status nginx.service
配置MYSQL YUM源
vim /etc/yum.repos.d/mysql.repo
[mysql]
name= mysql8.0
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el7-x86_64/
enable=1
gpgcheck=0
清除并緩存YUM數據
yum clean all && yum makecache
安裝MYSQL
yum install -y mysql-community-server
啟動MYSQL服務
systemctl enable --now mysqld
systemctl enable mysqld
查詢mysql密碼
grep "password" /var/log/mysqld.log
2023-07-05T08:26:48.865118Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 6DzAtt#nRna
ated for root@localhost: ipOpLsoQ4,_
登mysql
mysql -uroot -pipOpLsoQ*4,_
修改root帳號本地登陸密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'm4aDGw4ZhxdGdoCJ';
Query OK, 0 rows affected (0.01 sec)
創建chemex表
mysql> create database chemex;
Query OK, 1 row affected (0.01 sec)
創建Chemex用戶
mysql> create user 'chemex'@'%' identified by 'm4aDGw4ZhxdGdoCJ';
Query OK, 0 rows affected (0.01 sec)
添加chemex訪問chemex
mysql> grant all privileges on chemex.* to 'chemex'@'%';
Query OK, 0 rows affected (0.00 sec)
如無遠程管理需求可直接退出mysql,進入下一步配置
以下為MYSQL遠程管理連接配置,如不需要使用遠程管理可不配置
因mysql8之前,加密規則是mysql_native_password mysql8之后,加密規則是caching_sha2_password
升級8.0版本的不會改變現有用戶的身份驗證方法,但新用戶會默認使用新的caching_sha2_password
所以新安裝的mysql8數據庫需要手動修改數據庫加密規則
切換用戶管理
mysql> use mysql;
查詢帳號權限
mysql> select user,host,plugin,authentication_string from mysql.user;
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| user | host | plugin | authentication_string |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| chemex | % | caching_sha2_password | 005
A
\G*|Bv-+Zm< 4 G?huUpHPWBgRawrTjxLTsCcRlITUWYoN4dobCJSUVfLveL7 |
| mysql.infoschema | localhost | caching_sha2_password | 005
A
THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | caching_sha2_password | 005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.01 sec)
修改root帳號為% 以下不使用遠程管理可不配置
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'm4aDGw4ZhxdGdoCJ';
ALTER USER 'chemex'@'%' IDENTIFIED WITH mysql_native_password BY 'm4aDGw4ZhxdGdoCJ';
Query OK, 0 rows affected (0.00 sec)
需要先修改localhost為%再執行以下命令
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'm4aDGw4ZhxdGdoCJ';
Query OK, 0 rows affected (0.00 sec)
查詢帳號權限
mysql> select user,host,plugin,authentication_string from mysql.user;
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| user | host | plugin | authentication_string |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
| chemex | % | caching_sha2_password | 005
A
THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | caching_sha2_password | 005
A
THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
+------------------+-----------+-----------------------+------------------------------------------------------------------------+
5 rows in set (0.00 sec)
更新策略
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
退出
mysql> exit
Bye
Composer安裝
php -r "readfile('https://getcomposer.org/installer');" | php
ls -lah composer.phar
移動文件到/usr/local/bin/composer
mv composer.phar /usr/local/bin/composer
更改為騰訊源
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer
查看當前源
composer config -g -l
進入nginx目錄
cd /usr/local/nginx
安裝git
yum install -y git
下載chemex
git clone https://gitee.com/celaraze/chemex.git
刪除目錄、重命名cheme為html
rm -rf html
mv chemex html
權限修改
chown -R nginx:nginx html
chmod 755 -R html
chmod 777 -R html/storage #755無法打開頁面
chmod 777 -R html/bootstrap #755無法打開頁面
/html/public/uploads #目錄權限777,不然系統內無法上傳導入表格
進入目錄
cd html/
創建文件及圖標上傳目錄
mkdir /public/uploads
安裝
composer install -vvv
復制 .env文件
cp .env.example .env
配置mysql連接用戶及密碼(密碼帶字符需要''、“”否則報錯)
vim .env
第一步:數據庫配置
數據庫類型,不需要修改(兼容mariadb)
DB_CONNECTION=mysql
數據庫地址
DB_HOST=127.0.0.1
數據庫端口號,mysql默認是3306
DB_PORT=3306
數據庫名稱,如果沒有此數據庫,后續會提示創建
DB_DATABASE=chemex
數據庫用戶名
DB_USERNAME=chemex
數據庫密碼
DB_PASSWORD='m4aDGw4ZhxdGdoCJ'
安裝chemex
php artisan chemex:install