2019年8月23日 星期五

gcp centos7 laravel

說明:https://www.brilliantcode.net/170/centos-7-install-apache-httpd/


第一次設定root帳號需要打入密碼

sudo passwd root

安裝 EPEL

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

1.安裝Apache and http模組

sudo yum install httpd mod_ssl openssl

啟動Apache,並且設定為開機自動啟動

sudo systemctl start httpd
sudo systemctl enable httpd


確認Apache執行權限
sudo vim /etc/httpd/conf/httpd.conf

更改
User apache
Group apache
(因為會有FTP檔案上傳問題,可以改成自己的user )

設定或修改Apache目錄

sudo vim /etc/httpd/conf/httpd.conf

顯示:
DocumentRoot "/var/www/html"



讓Apache可以支援.htaccess,請加入AllowOverride All


<directory "/var/www/html">
    AllowOverride All
</Directory>


存檔離開
:wq

重啟APACHE
sudo systemctl start httpd

Selinux 安全性說明
https://www.brilliantcode.net/145/centos-7-check-selinux-status-enabled-or-not/

暫時停止SELinux
sudo setenforce 0

暫時啟動SELinux
sudo setenforce 1

sudo vim /etc/selinux/config

永久停止SELinux:將第6行改為SELINUX=disable
永久啟用SELinux:將第6行改為SELINUX=enable

開啟防火牆,讓 web (port:80, 443) 流量可以穿過 firewall

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

重啟Apache服務
sudo systemctl restart httpd.service

2. install mysqld

sudo yum -y install mariadb-server

安全性服務+設定密碼
mysql_secure_installation

3.PHP 安裝 7.2

yum -y install mod_php72w php72w-cli php72w-common php72w-gd php72w-imap php72w-ldap php72w-mbstring php72w-mysql php72w-pdo php72w-pear php72w-xml php72w-xmlrpc

重啟
systemctl restart httpd.service

4.安裝 Composer

複製安裝文件 PHP 檔案
執行安裝 composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

 php composer-setup.php

完成以後,我們要放到全域環境,這樣才能讓任何專案無須從新安裝 composer。記得 Composer 限制不可在最高權限 root 中執行。

mv composer.phar /usr/local/bin/composer

5.安裝 phpMyAdmin

.用 composer 下載 (建議,因為版本最新,解決許多問題)

chmod 777 /var/www/html  <-- 提供寫入權限給 composer 建立路徑

cd /var/www/html
composer create-project phpmyadmin/phpmyadmin

cp -i /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

GCP登入方式

http://zxcvbnm2749.blogspot.com/2018/07/ssh-ftp-google-cloud.html

6.git安裝

sudo rpm -U https://centos7.iuscommunity.org/ius-release.rpm sudo yum install git2u
sudo yum install git2u

7.權限問題


在對應資料夾下使用此指令
chcon -R -t httpd_sys_rw_content_t 我的專案名稱/storage


CentOS 對內部檔案的權限管理非常嚴謹,當其他使用者在看網頁時,CentOS 內其實是有一名叫做 apache 的使用者在瀏覽您的網頁目錄,雖然如此但 apache 也不是什麼檔案都能看,僅能觀看httpd 相關權限的檔案而已,在還沒修改網站權限時你可以透過 ls -Z 來取得目前的權限。


但是 httpd_sys_content_t 僅是瀏覽的權限而已,依據 laravel 的安裝說明bootstrap/cache 及 storage 這兩個資料夾必須要有寫入的權限,所以需再做以下修改:




1
2
3
4
$ chcon -Rv -t httpd_sys_rw_content_t blog/storage
$ chcon -Rv -t httpd_sys_rw_content_t blog/bootstrap/cache
$ sudo chmod -R 777 blog/storage
$ sudo chmod -R 777 blog/bootstrap/cache


沒有留言:

張貼留言