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

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Jerry 的頭像
    Jerry

    Bug倉庫 // 程式日記

    Jerry 發表在 痞客邦 留言(0) 人氣()