---
tags: PHP / Laravel / Lumen
---
# Laravel 開發環境設定
### 開發環境
本文章以 Ubuntu 的 LAMP 安裝為主軸
請先備齊PHP、MySQL、Composer、Apache、Git
※本系列文章以 Laravel 5.8 + PHP 7.2 進行撰寫
### Windows 環境建置 (兩者擇一)
1. [wagon](https://opensource.laravel-dojo.com/packages/wagon)
2. [WampServer](http://www.wampserver.com/en/)
3. [XAMPP](https://www.apachefriends.org/zh_tw/download.html)
※WampServer使用者需額外下載
[Visual C++ 可轉散發套件2012](https://www.microsoft.com/zh-tw/download/details.aspx?id=30679)
[Visual C++ 可轉散發套件2015](https://www.microsoft.com/zh-TW/download/details.aspx?id=48145)
※WampServer 與 XAMPP 需額外安裝 Git 與 Composer
※wagon內的 Cmder (終端命令工具) 已設定環境變數,所以無須另外下載 Composer 與 Git
※wagon UwAmp 的 MySQL 預設 Port 為 33060
### 建立專案
1. wagon使用者將目錄切換至 uwamp\www
2. Wamp使用者將目錄切換至 wamp64\www
3. XAMPP使用者將目錄切換至 xampp\htdocs
4. 執行命令 ```composer create-project laravel/laravel --prefer-dist blog 5.8.*```
### 修改專案環境參數
修改專案根目錄「.env」內之DB_DATABASE、DB_USERNAME、DB_PASSWORD
※由於UwAmp MySQL預設Port為33060,所以請UwAmp使用者將DB_PORT改為33060
### 啟動服務
請參照各工具相關之 Apache 設定文章
---
### Ubuntu 16.04
1. Apache、vim、Git、wget
```
$ apt update
$ apt install vim git apache2 wget -y
```
2. MySQL (安裝過程中,會要求設定root密碼,此處示範密碼為root)
```
$ apt install mysql-server -y
$ mysql -u root -proot
# 進入MySQL後
mysql > CREATE DATABASE blog;
# 可自行新增使用者,並賦予權限 (以帳號test、密碼1234為例)
mysql > CREATE USER 'test'@'localhost' IDENTIFIED BY '1234';
mysql > GRANT ALL ON *.* TO 'test'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
mysql > FLUSH PRIVILEGES;
# 離開MySQL
mysql > quit
$ service mysql restart
$ service apache2 restart
```
3. PHP
```
$ apt install software-properties-common -y
$ apt install python-software-properties -y
$ apt-add-repository ppa:ondrej/php
$ apt update
$ apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-mbstring php7.2-xml php7.2-zip php7.2-common php7.2-opcache php7.2-soap php7.2-gd php7.2-imap php7.2-curl php7.2-tidy php7.2-dev php7.2-json php7.2-mysql php7.2-bcmath php7.2-intl libapache2-mod-php7.2
$ a2dismod php7.0
$ a2query -m php7.2 (或 a2enmod php7.2)
$ a2enmod rewrite
$ service apache2 restart
```
4. phpMyAdmin
```
$ apt install phpmyadmin -y
$ ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
```
5. Composer
```
$ wget -c https://getcomposer.org/composer.phar
$ chmod u+x composer.phar
$ mv composer.phar /usr/local/bin/composer
```
6. 建立專案
```
$ cd /var/www
$ composer create-project laravel/laravel --prefer-dist blog 5.8.*
# 設定專案參數 (資料庫名稱、帳號、密碼)
$ vim blog/.env
# 更改目錄擁有者及Storage存取權限
$ chown -R www-data:www-data blog/
$ chmod -R 775 blog/storage/
```
7. Apache 站台設定
```
# 設定vhost
$ vim /etc/hosts
# /etc/hosts加入此行
127.0.0.1 laravel.local
# 設定站台
$ vim /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
ServerName laravel.local
ServerAdmin webmaster@localhost
DocumentRoot /var/www/blog/public
<Directory "/var/www/blog/public">
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# 重啟Apache
$ service apache2 restart
```