1.在ubuntu的命令環境下,下指令:
1-1.安裝:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
1-2.移動到可以全域使用的位置
sudo mv composer.phar /usr/bin/composer
1-3.測試
composer
2.在本機端laravel資料夾按右鍵,選擇git bash
2-1.開始使用git,下指令:git init
2-2.把所有檔案放到暫存區,下指令:git add .
2-3.把所有檔案放到commit,下指令:git commit -m '你想打的文字'
2-4.更改~/.ssh/config
2-4-1.(動作之前,若沒有c:/使用者/使用者名字/.ssh,則要在c:/使用者/使用者名字按右鍵git bash下指令:ssh-keygen -t rsa,然後一路enter按到底)
2-4-2.在laravel資料夾開git bash的狀態,下指令:vim ~/.ssh/config
2-4-3.編輯器內,填入內容(按i開始編輯,esc下指令: :wq 存檔然後離開)
Host AWS
HostName <AWS IP>
User ubuntu
IdentityFile <AWS pem 金鑰檔案路徑>(格式:c:/使用者/使用者名字/.ssh/AWS上下載下來的.pem)
(註:把從AWS上下載下來的.pem檔案放到c:/使用者/使用者名字/.ssh 比較簡單)
2-5.伺服端,新增一個空的git respository
2-5-1.在home/ubuntu(也就是~$那邊)下指令:git init --bare 你自己取的名稱.git
2-6.本機端,讓電腦知道要push到哪去
2-6-1.下指令:git remote add deploy ssh://AWS/home/ubuntu/你自己取的名稱.git
2-6-2.直接push,下指令:git push -u deploy master
2-7.伺服端,在home/ubuntu/你自己取的名稱.git裡面是看不到檔案內容,可以移到var/www去
2-7-1.去到畫面呈現的資料夾,cd ../../var/www/html
2-7-2.開始殖民,下指令:sudo git clone /home/ubuntu/你自己取的名稱.git
3.更改使用者權限(在var/www/html 的情況下)
3-1.伺服端,下指令:sudo chown -R ubuntu:www-data 你自己取的名稱
4.更改laravel的env檔內的資料庫資訊(在var/www/html/你自己取的名稱 的情況下)
4-1.把現在的env複製一份到env.example,下指令:cp .env.example .env
4-2.使用vim編輯.env,下指令:vim .env
4-3.更改database名稱,使用者名稱與密碼
5.增加一個新的laravel的keygen
5-1.php artisan key:gen
5-2.過程中如果遇到問題,就更新composer,下指令:composer update --no-scripts
(要耐心等待)
6.php artisan serve --host=0.0.0.0
7.建立表格,下指令:php artisan migrate
(需要確定有安裝 php7.0-mysql、env檔裡面的帳號密碼資料庫資訊,然後在資料庫建立該資料庫(mysql -u root -p 你的密碼→下指令:create database 你要取的名稱;))
※備份:
AWS的volume是你的instance的儲存空間
使用snapshot去備份你的volume
8.解決連上public資料夾時出現Failed to open stream: Permission denied問題
8-1.指令連到你的專案資料夾(記得在var/www/html下面)
8-2.下指令:php artisan cache:clear (清除快取)
8-3.下指令:(更改權限)
chmod -R 777 app/storage # for laravel < 5.4
chmod -R 777 storage/ # for laravel >= 5.4
(1)每一個檔均有一個擁有者(owner),僅有owner及root可以更改檔案之存取保護模式(利用 chmod 指令)
(2)只有root可以更改檔案之「擁有者」與「群組」(利用 chown 指令)
參考:http://tnrc.ncku.edu.tw/course/93/fedora_core2/page10/p10.htm
-R :連同子目錄內容一起列出來,等於該目錄下的所有檔案都會顯示出來;
參考:http://linux.vbird.org/linux_basic/0220filemanager.php
read/write/execute
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= rwx = 4+2+1 = 7
參考:http://linux.vbird.org/linux_basic/0210filepermission.php
8-4.composer dump-autoload
假如您需要重新產生您的套件自動載入檔案,您可以使用 php artisan dump-autoload 指令。這個指令會重新產生自動載入檔案在您的根目錄專案內。
參考:https://laravel.tw/docs/4.2/packages
8-5瀏覽器輸入:你的ip/你命名的資料夾(git的)/public
即可連上
9.改變連線的路徑
9-1.去改變apache的設定
9-2.下指令(到此資料夾):cd /etc/apache2/sites-available
9-3.下指令(建立這個檔案):sudo vim laravel.conf
9-4.編輯模式(輸入i),貼上下列
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/你自己命名的名稱/public
<Directory /var/www/html/project>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
9-5.按esc,輸入:wq,存檔並離開
9-6.下指令:
sudo a2dissite 000-default.conf (關掉預設)
sudo a2ensite laravel.conf (啟動你剛剛設定的)
sudo a2enmod rewrite (重寫apache2的設定?)
sudo service apache2 restart (apache2 伺服器重啟)
9-7.瀏覽器輸入ip即可連到你的資料夾的public
10.如果其他的route出不來的解決方式
錯誤訊息:The requested URL / was not found on this server
10-1.更改權限,下指令:/etc/apache2$ sudo chown ubuntu:www-data apache2.conf
10-2.更改內容,下指令:sudo vim apache2.conf
10-3.找到<Directory /var/www/>,並更改為(i進入編輯模式,改好後,esc,:wq離開)
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
10-4.重啟apache
sudo service apache2 restart
留言列表