2025年1月28日 星期二

Centos7.9安裝Laravel 11

1.更新系統及安裝軟件包
yum update -y
yum install -y epel-release

2.安裝apache並啟動
yum install -y httpd
systemctl start httpd #開啟http服務

systemctl status httpd #查看狀態
systemctl enable httpd #設定開機自動開啟

3.開放 HTTP端口讓外部設備訪問
firewall-cmd --zone=public --add-service=http --permanent

firewall-cmd --reload

firewall-cmd --list-all


4.
安裝php 8.3
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm #安裝 Remi 存儲庫
yum install -y yum-utils #安裝utils用來管理
yum-config-manager --enable remi-php83 #啟用83源

安裝php及其拓展
yum install -y php php-cli php-common php-fpm php-mysqlnd php-xml php-mbstring php-json php-curl php-zip php-bcmath php-soap php-opcache php-intl

查看php版本及配置
php -v  #版本
php --ini  #配置


#額外補充
yum-config-manager --disable remi-php83 #禁用php8.3
yum repolist enabled #檢查所有啟用的源


5.安裝Mysql
添加 MySQL 的官方 YUM 存儲庫
curl -sSLO https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
#md5sum mysql84-community-release-el7-1.noarch.rpm
rpm -ivh mysql84-community-release-el7-1.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql
yum install mysql-community-server -y

查看Mysql版本,狀態及啟用
mysql -V #版本
systemctl start mysqld #啟用

systemctl status mysqld #查看狀態
systemctl enable mysqld #設定開機自動開啟


查看安裝時生成的臨時密碼,並使用臨時密碼登入
grep 'temporary password' /var/log/mysqld.log   #查看臨時密碼並複製

mysql -u root -p #使用root登入,登入使用剛複製的臨時密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY '設定登入密碼'; #重置密碼
FLUSH PRIVILEGES; #刷新權限

exit #離開

6.下載phpmyadmin
yum install phpmyadmin -y

vi /etc/httpd/conf.d/phpMyAdmin.conf   #修改phpMyAdmin配置文件

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 00.00.00.000  #根据需要限制訪問IP(如果僅限本地訪問就輸入本地IP)
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>


systemctl restart httpd #重啟http服務

訪問看是否正常  http://服務器IP/phpMyAdmin/
7.下載composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \

php composer-setup.php --version=2.7.5 && \ #

php -r "unlink('composer-setup.php');" #刪除安裝腳本

mv composer.phar /usr/local/bin/composer #移動composer使其能全局使用

composer --version #檢查安裝版本


8.建立Laravel專案
cd /var/www/html/

composer create-project laravel/laravel laravelTest  #建立名為laravelTest的專案

chmod -R 775 laravelTest/storage  #更改Laravel項目的權限以便操作
chmod -R 775 laravelTest/bootstrap/cache

vi /etc/httpd/conf.d/laravel_test.conf #配置Apache虛擬主機

#
<VirtualHost *:80>
ServerName 00.00.00.000(服務器IP)
DocumentRoot /var/www/html/laravelTest/public


<Directory /var/www/Laraveltest/public>
AllowOverride All
Require all granted
</Directory>


ErrorLog /var/log/httpd/laraveltest_error.log
CustomLog /var/log/httpd/laraveltest_access.log combined
</VirtualHost>


systemctl restart httpd #http服務重啟

9.配置 Laravel 使用 MySQL
cd /var/www/html/laravelTest

vi .env  #編輯環境目錄設定

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=你的密碼

php artisan migrate #測試是否可連接到數據庫

訪問服務器IP即可看到成功畫面

#額外補充 (不連接數據庫方式)
laravel默認使用database作為session的存儲,但如果不想要連接數據庫可以使用文件作session的存儲
cd /var/www/html/laravelTest

vi .env  #編輯環境目錄設定

SESSION_DRIVER=file #改成file ,原本是database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null


#如果出現 No application encryption key has been specified. 則需要生成加密的密鑰
php artisan key:generate




沒有留言:

張貼留言