mrcob

時間過得很快,距離上次碰laravel…甚至可以說碰php的時候已經過了快兩年左右了。趁最近有機會可以碰就順便拿來當一個主題來寫點東西。

由於之前已經把nginxphp處理好,不過看官網的安裝介紹還缺些文件,所以就先補上:

mrcob

yum install php-bcmath php-ctype php-fileinfo php-json php-mbstring php-openssl php-pdo php-tokenizer php-xml

就單純把列表上的名字加個前綴php-後去跑yum install
有些套件可能在之前安裝php的時候就安裝好了,所以這次安裝的時候會略過。

接下來安裝php的套件管理器composer,用來下載laravel

# 下載官方安裝檔
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# 執行安裝檔
php composer-setup.php
# 測試是否正常
./composer.phar -v
# 將執行檔移至path (其實不知道怎麼稱呼)
mv composer.phar /usr/local/bin/composer
# 測試是否正常
composer -v

然後就是下載laravel

# 建立資料夾
mkdir -p /usr/share/nginx/html/test_site/
# 移動到該資料夾
cd /usr/share/nginx/html/test_site/
# 下載laravel到當前位置
composer create-project --prefer-dist laravel/laravel ./

接著就是跟nginx做連接了,由於80 port被用掉了也不想用hosts,所以就換用個8080 port吧。
新增個/etc/nginx/conf.d/test_site.conf設定檔,內容如下:

# /etc/nginx/conf.d/test_site.conf

server {
    listen       8080;
    server_name  _;
    root         /usr/share/nginx/html/test_site/public/ ;

    include /etc/nginx/default.d/*.conf;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

這邊要注意root的位置有要到public資料夾。
另外要保險一點的話可以執行nginx -t檢查設定檔是否有問題。

接著就執行systemctl reload nginx重讀設定檔。

因為有換port了,所以記得防火牆的設定:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

然後接下來就是設定資料夾存取權限:

# 設定使用者
chown -R nginx:nginx /usr/share/nginx/html/test_site/
# 設定讀寫權限
chmod -R 775 /usr/share/nginx/html/test_site/storage/
# 如果selinux沒有關閉的話需要多設定這部分
chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/test_site/storage/

關於權限的部分官網還有提到bootstrap/cache的部分,這邊就先不動。

接下來就是用瀏覽器開啟看看是否有畫面了:

mrcob

每次裝laravel都會看到不同的首頁還挺有意思的 😌

雖然現在可能大多人都直接抓vm或容器來用,不過偶爾跑個一次應該也無所謂吧。