Laravel Project 部署在 Ubuntu 上有百百種方法,但不管怎樣都比放在 shared hosting 簡單。以下紀錄我常用的方法跟遇到的問題:
在這之前如果你還沒有嘗試過部署這件事情,有些參考文章還不錯:
INSTALL LARAVEL 4 ON UBUNTU 12.04 LTS (A HOW-TO TUTORIAL)
當然還有很多啦,只是我只有記錄到這個 :P,這其實也是我很久之前的筆記,只是最近有空一一整理起來而已...
找出 php.ini 的位置
sudo php -i | grep 'Configuration File'
確認/安裝 MySQL
通常 digitalOcean 會搭配,如果你一開始有選的話 LAMP 架構之類的。
沒有的話還是要記得安裝..
安裝相關需要的套件
apt-get install php5-mcrypt
sudo apt-get install openssl
sudo apt-get install unzip
sudo apt-get install curl
sudo php5enmod mcrypt
(裝完記得『重啟』 apache2 server)
安裝 composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
網站的資料夾該放哪?
這個嘛... 要看你 apache 怎麼裝
我是放在 /var/www/
Ex: 專案 Folder 為 myproject
就放在 /var/www/myproject
apache site-available 設定
這個也是模稜兩可,我的 apache 設定是在 /etc/apache2/sites-available/000-default.conf,通常我會把 000-default.conf 備份一個最原始的版本為 000-default.conf.bak,然後再修改 000-default.conf 為我要的。
然後 documentRoot 是指到專案下的 public 資料夾
Example: DocumentRoot /var/www/YOUR_PROJECT/public
遇到 file_put_contents failed to open stream: Permission denied 訊息
修改路徑: /etc/apache2/apache2.conf
把 apache2.conf 的所有的 AllowOverride None 改成 ALL。
遇到所有的 route 都出現 404 error
sudo a2enmod rewrite
sudo service apache2 restart
記得把 app/storage 打開權限
某則無法紀錄 log 或是 session 等~
必要時你可以開啟 debug mode,直接看錯在哪裡比較快
重啟 apache 出現 Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
到 /etc/apache2 的 apache.conf 加這一行 ServerName localhost
在這之前如果你還沒有嘗試過部署這件事情,有些參考文章還不錯:
INSTALL LARAVEL 4 ON UBUNTU 12.04 LTS (A HOW-TO TUTORIAL)
當然還有很多啦,只是我只有記錄到這個 :P,這其實也是我很久之前的筆記,只是最近有空一一整理起來而已...
找出 php.ini 的位置
sudo php -i | grep 'Configuration File'
確認/安裝 MySQL
通常 digitalOcean 會搭配,如果你一開始有選的話 LAMP 架構之類的。
沒有的話還是要記得安裝..
安裝相關需要的套件
apt-get install php5-mcrypt
sudo apt-get install openssl
sudo apt-get install unzip
sudo apt-get install curl
sudo php5enmod mcrypt
(裝完記得『重啟』 apache2 server)
安裝 composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
網站的資料夾該放哪?
這個嘛... 要看你 apache 怎麼裝
我是放在 /var/www/
Ex: 專案 Folder 為 myproject
就放在 /var/www/myproject
apache site-available 設定
這個也是模稜兩可,我的 apache 設定是在 /etc/apache2/sites-available/000-default.conf,通常我會把 000-default.conf 備份一個最原始的版本為 000-default.conf.bak,然後再修改 000-default.conf 為我要的。
然後 documentRoot 是指到專案下的 public 資料夾
Example: DocumentRoot /var/www/YOUR_PROJECT/public
遇到 file_put_contents failed to open stream: Permission denied 訊息
修改路徑: /etc/apache2/apache2.conf
把 apache2.conf 的所有的 AllowOverride None 改成 ALL。
遇到所有的 route 都出現 404 error
sudo a2enmod rewrite
sudo service apache2 restart
記得把 app/storage 打開權限
某則無法紀錄 log 或是 session 等~
必要時你可以開啟 debug mode,直接看錯在哪裡比較快
重啟 apache 出現 Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
到 /etc/apache2 的 apache.conf 加這一行 ServerName localhost
沒有留言:
張貼留言
若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD