iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
Modern Web

跳脫MVC,Laravel + React 建立電商網站系列 第 11

Day 11 開始拉拉維爾(Laravel)之前的準備(虛擬環境架設)

  • 分享至 

  • xImage
  •  

在開始進行laravel之前,我建議使用虛擬環境來安裝,因為我不想汙染到筆電,要是裝到一半挫賽直接整台殺掉重來就好XD
雖然網路上有很多教學,不過既然是要用虛擬機 我還是稍微介紹一下步驟跟流程


這裡有幾點要注意:要設定軟連結(這樣我們在本機修改的code才可以即時修改到伺服器中)、使用Apache(也可以用Nginx)、laravel9需要使用php8
我這裡使用個人習慣的Centos7來進行示範,不過因為後續的作業系統支援、更新問題,建議可以改用Ubuntu。
不過老話一句:我們要自己用的,所以我決定用自己最習(ㄌㄢˇ)慣(ㄉㄨㄛˋ)的方式來架設環境。
【補充】
虛擬機的概念就是在自己原有的環境安裝一個新的環境,簡單來說就是windows裡面包含了一個主機,
這裡都是以windows環境來做示範,使用mac的讀者抱歉了,我買不起mac,所以不確定mac要如何使用XD


ps.每個人安裝虛擬環境的時候都會遇到很多不一樣的狀況,這裡需要搭配google來自行排除XD

Step1:首先我們先安裝virtual Box來協助我們架設虛擬機(CentOs 要選RedHat)。
Step2:安裝好virtual Box 之後 要先去下載作業系統的iso檔,因為會因每個人的選擇而有所不同,這裡就不贅述
Step3:到這邊我們已經有必備的材料,接著我們啟動virtual box 並把 作業系統的檔案放進去,在虛擬機上安裝OS
這裡要小心幾個地方:1.要把網路打開 2. 虛擬機要設定共用資料夾
共用資料夾的使用方式請參考這裡

step4:確認虛擬機有sf_xxxx的共用資料夾後就可以設定軟連結,指令可以參考如下:

yum install httpd
cd /var/www 
rm -rf html

ln -s /media/sf_<共用資料夾名稱> /var/www/html >> 軟連結

step5:接著我們要來安裝php 8,因為我個人使用老舊的os,並沒有新的php remi源,所以步驟會相對繁複一些:

yum install yum-utils
yum install epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --disable 'remi-php*' 
yum-config-manager --enable remi-php80

yum install -y php php-bcmath php-cli php-common php-devel php-fpm php-gd php-intl php-ldap php-mbstring php-Mysqlnd php-odbc php-pdo php-pear php-pecl-xmlrpc php-pecl-zip php-process php-snmp php-soap php-sodium php-xml

接著下 php -v 來檢查最後下載的版本
看到下載的php 版本在8以上就可以了~

我們需要一個作曲家來幫我們譜出美麗的laravel

安裝composer

curl -k -sS https://getcomposer.org/installer | php

移動composer 安裝路徑

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

添加composer 授權

chmod +x /usr/local/bin/composer

做好之後一樣要檢查一下有沒有安裝成功

composer -v

就可以看到composer的相關資訊

接著打開偉大的Laravel 官方文件,照著裡面的教學進行安裝

#先cd到需要安裝的地方
cd /var/www/html
#這裡我把專案命名為:laravel-react
composer create-project laravel/laravel laravel-react

接下來如果打開畫面絕對噴掉
所以我們要先對伺服器做一些壞壞的事情:
關閉SELinux(這個是暫時的,虛擬機重開後還是會開啟)

setenforce 0

備註:這個是永久的
指令:vi /etc/selinux/config
變更:SELINUX = disabled

開啟httpd

service httpd start

關閉防火牆

systemctl stop firewalld.service

cd到剛剛下載的環境,update一次composer

composer update

接著,這裡要到/conf.d/底下去寫一個conf檔,告訴伺服器,如果別人訪問到這顆伺服器的話要去哪裡拿資料

<VirtualHost _default_:80> 
  DocumentRoot "/var/www/html/laravel-react/public" 
  <Directory /var/www/html/laravel-react/public/> 
   Options Indexes FollowSymLinks 
   AllowOverride All 
   Require all granted 
  </Directory> 
</VirtualHost>

寫完這裡記得要重啟httpd


例外處理:

#修正js編碼異常 
vi /etc/httpd/conf/httpd.conf 
EnableSendfile Off

#新增使用者進入apache 
usermod -a -G vboxsf apache

一樣要下一次httpd reload


接著要把.env複製出來

cp .env .env.example

然後 重新拿一次key

php artisan key:generate

並確認public底下有.htaccess

接著我們將ip輸入到網頁(CentOs 指令:ip addr)

https://ithelp.ithome.com.tw/upload/images/20220915/20145703C8Xj9ednyp.png

恭喜我們成功架好laravel的環境惹~(有可能會遇到權限異常,請使用chmod -R 的方式來調整檔案權限)

另外提醒一下,這顆伺服器的安全性 === 0 (廢話,都直接把防火牆整顆關掉惹)
只能用來當成測試環境,請小心服用


上一篇
Day 10 React的其他特性 -2
下一篇
Day 12 認識拉拉維爾(Laravel)
系列文
跳脫MVC,Laravel + React 建立電商網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言