Try   HackMD

Laravel 開發環境設定

開發環境

本文章以 Ubuntu 的 LAMP 安裝為主軸
請先備齊PHP、MySQL、Composer、Apache、Git
※本系列文章以 Laravel 5.8 + PHP 7.2 進行撰寫

Windows 環境建置 (兩者擇一)

  1. wagon
  2. WampServer
  3. XAMPP

※WampServer使用者需額外下載
Visual C++ 可轉散發套件2012
Visual C++ 可轉散發套件2015

※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
  1. 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
  1. 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
  1. phpMyAdmin
$ apt install phpmyadmin -y
$ ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
  1. Composer
$ wget -c https://getcomposer.org/composer.phar
$ chmod u+x composer.phar
$ mv composer.phar /usr/local/bin/composer
  1. 建立專案
$ 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/
  1. 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