Laravel 的安裝參考了網路上許多資源
發覺遺漏許多部份 , 失敗了數次 並經過一段工作時間將其匯整
使其能按照以下步驟 , 必定能安裝完成之列表
直接用 Pietty or MobaXterm 複製貼上簡單輕鬆的完成它
軟體 | 版本 | |
PHP | php5.4 | |
WEB | nginx | |
FRAMEWORK | Laravel5.0 | |
DB | mariaDB | |
VM | vmware8 | (2015.10.05 Vmware 11安裝無法選擇套件 進入以下步驟會有問題 ) |
OS | CentOS7 | (選擇網站伺服器安裝,mariadb,php ) |
為了各位學習 Laravel 方便,提供 vmware 8.0 使用的 vmdk 供下載(download)
網友可以自己選擇要直接使用vm檔或是按照步骤完成
//----download Laravel5.0 -----------------------------------------------------------------
Laravel5.0_Vmdk |
(click me download vmdk(vmare8 )for Laravel 5.0 ) |
(contain : nginx+php5.4+mariadb) |
//----install step by step -----------------------------------------------------------------
yum update
yum install wget
yum install epel-release //更新後才可執行 sudo yum install php-mcrypt*
sudo yum install php-mcrypt* //laravel 會使用到的套件
//mariadb install
yum install mariadb-server mariadb
sudo systemctl start mariadb
第一次安裝
mysql -u root mysql -p (enter)
password : ( 直接 enter 第一次不需密碼 )
設定密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD ('你的密碼');
設定誰可以進入資料庫
grant all privileges on *.* to root@1.2.3.4 identified by '你的密碼';
( 某人可以從1.2.3.4使用root進入)
視個人需求是否要修改port號
修改完記得要重啟
修改 mariadb port
/etc/my.cnf
//php install
No match for argument: php-mysql centos无法安装php-mysql模块
解决方案:
可能是epel源问题:
1.获取php7.0的yum源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php-mbstring //laravel 會使用到的套件
yum install php php-mysql php-fpm
(若出現異常跳過 沒有安裝跡象 ,則分開各別裝 )
(centos 內建 php5.4)
ex : yum install php-fpm
ex : yum install php
ex : yum install php-mysql
(centos 如果要安裝 更高php版本 7.2 請參考以下 )
yum install epel-release yum-utils -y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php72
yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql -y
How to Install PHP 7.0, 7.1, 7.2
sudo vi /etc/php.ini
/尋找 memory 修改記憶體配置 改為 512MB , 原本是128M
sudo vi /etc/php-fpm.d/www.conf
修改listen = /var/run/php-fpm/php-fpm.sock
;user = apache
user = nginx
;group = apache
group = nginx
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
sudo systemctl start php-fpm
systemctl enable php-fpm.service
以下為補充
( laravel 5.1 need php5.5.9 + )
若使用 Laravel 5.1 的朋友需使用底下安裝步驟(php5.6)
//php5.6使用
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
vi /etc/yum.repos.d/remi.repo
找到標題是 [remi-php56] 將 enabled=0 改為 1
( 以上找不到就自動省略 )
//nginx install
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
centos8
假設安裝遇問題 添加以下
cat << EOF > /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/8/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
開通80port服務
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
vi /etc/nginx/conf.d/default.conf
將內容整個砍掉 ,複製貼上底下內容即可
( 注記得修改 root /usr/share/nginx/html/S1/public 位置)
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/S1/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
proxy_connect_timeout 159s;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_buffer_size 64k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_pass_header Set-Cookie;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Accept-Encoding '';
proxy_ignore_headers Cache-Control Expires;
proxy_set_header Referer $http_referer;
proxy_set_header Host $host;
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
視個人需求是否要修改port號
修改完記得要重啟
修改 nginx port
/etc/nginx/conf.d/php.conf
修改 mariadb port
/etc/my.cnf
systemctl start nginx
systemctl status nginx
systemctl enable nginx.service
//Laravel install
cd /usr/share/nginx/html/
wget http://down.golaravel.com/laravel/laravel-v5.0.22.zip
unzip laravel-v5.0.22.zip
mv laravel-v5.0.22 Laravel
sudo chmod -R 775 Laravel
sudo chown -R nginx.nginx Laravel
systemctl restart nignx
這裡記住一定用sudo 去下cmd , 不要以為用root就不使用sudo
設定SELinux
vi /etc/selinux/config
由原本 #SELINUX=enforcing 改為 SELINUX=disabled
SELinux是 Security Enhanced Linux (安全加強的 Linux) 的縮寫,
他並不是一個防火牆的軟體,而是一個『針對檔案系統權限作更細部規劃的一個模組』。
假設到新電腦上安裝,複製原本的laravel資料夾過去
看log一直顯示 could not be opened failed to open stream permission denied 時
或是出現 0.0.0.0:8843 failed (13: Permission denied)
執行它即可
sudo setenforce 0
或是在 nginx.conf 最上方
user nginx 改為 root
參考
https://blog.51cto.com/waxyz/5336419