Laravel 5.0 必成功之安裝步驟





















Laravel 的安裝參考了網路上許多資源
發覺遺漏許多部份 , 失敗了數次 並經過一段工作時間將其匯整
使其能按照以下步驟 , 必定能安裝完成之列表
直接用 Pietty or MobaXterm 複製貼上簡單輕鬆的完成它


軟體版本
PHPphp5.4
WEBnginx
FRAMEWORKLaravel5.0
DBmariaDB
VMvmware8(2015.10.05 Vmware 11安裝無法選擇套件 進入以下步驟會有問題 )
OSCentOS7(選擇網站伺服器安裝,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


2 則留言:

  1. 要開發環境不如直接裝官方的homestead...
    權限用777還關掉selinux...
    這篇就只是能跑就好的教學, 正式環境完全不適用

    回覆刪除
  2. 這篇的確就是能跑就好的教學,標題上都有說明
    先求能跑再求好,剩下就是個人自己優化調整

    回覆刪除