環境
- Ubuntu 18.04.1 LTS
安裝 PHP
更新 apt 套件工具。
1 | sudo apt-get update |
安裝 PHP 及擴充套件。
1 | sudo apt-get install -y php php7.2-fpm php-mysql php-zip php-cli php-mbstring php-xml php-curl |
查看 PHP 版本
1 | php --version |
查看 PHP-FPM 版本
1 | php-fpm7.2 --version |
安裝相關套件
安裝 Git 及相關套件。
1 | sudo apt-get install -y curl git unzip |
查看 Git 版本
1 | git --version |
安裝 Composer
下載 Composer 並安裝。
1 | cd ~ |
- 正確
HASH
值,見 https://composer.github.io/pubkeys.html
查看 Composer 版本。
1 | composer --version |
修改權限。
1 | sudo chown -R ${USER}:${USER} ~/.composer |
將套件執行檔路徑寫進環境變數。
1 | echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc |
重新加載啟動文件。
1 | source ~/.bashrc |
安裝 Laravel 安裝器
使用 Composer 安裝。
1 | composer global require laravel/installer |
查看 Laravel 安裝器版本。
1 | laravel --version |
安裝 Nginx
安裝 Nginx。
1 | sudo apt-get install -y nginx |
查看 Nginx 版本。
1 | nginx -v |
在 /etc/nginx/sites-availabl
資料夾新增 laravel.xxx.com.conf
檔:
1 | server { |
建立設定檔軟連結。
1 | sudo ln -s /etc/nginx/sites-available/laravel.xxx.com.conf /etc/nginx/sites-enabled/laravel.xxx.com.conf |
重啟 Nginx 服務。
1 | sudo nginx -s reload |
設定 DNS
新增子網域:laravel.xxx.com,並指向主機的 IP。
安裝 MySQL
安裝 MySQL。
1 | sudo apt-get install -y mysql-server |
查看 MySQL 版本。
1 | mysql --version |
進行安全設定。
1 | sudo mysql_secure_installation |
使用 root
使用者進入資料庫。
1 | sudo mysql |
查看所有使用者。
1 | > SELECT user,authentication_string,plugin,host FROM mysql.user; |
修改 root
使用者的認證套件為 mysql_native_password
。
1 | > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; |
新增 ubuntu
使用者,並設定權限。
1 | > CREATE USER 'ubuntu'@'localhost' IDENTIFIED BY 'password'; |
使用 ubuntu
使用者進入資料庫。
1 | mysql -u ubuntu -p |
新增 homestead
資料庫。
1 | > CREATE DATABASE `homestead`; |
建立專案
修改 /var/www
資料夾的權限。
1 | sudo chown -R ${USER}:${USER} /var/www |
建立專案。
1 | cd /var/www |
修改 .env
檔。
1 | DB_USERNAME=ubuntu |
執行遷移。
1 | php artisan migrate --seed |
修改權限,讓 Nginx 使用者可以存取 storage
和 bootstrap/cache
資料夾。
1 | sudo setfacl -R -m u:www-data:rwx /var/www/laravel/storage /var/www/laravel/bootstrap/cache |
瀏覽網頁
前往 http://laravel.xxx.com 瀏覽。