在Ubuntu 18.04 LTS中安裝phpMyAdmin + Composer + Laravel 6
嗨大家好,今天我們要在Ubuntu 18.04 LTS中安裝MySQL網頁圖形化管理工具phpMyAdmin、Composer和Laravel 6。在此之前,請先確認您已經確實完成前篇「Ubuntu 18.04 LTS + Apache、MySQL、PHP (LAMP)安裝設定」中的各項安裝步驟。
前置作業
在進行後續動作前,先安裝幾個基本工具:
$ sudo apt install -y git curl wget zip unzip
安裝phpMyAdmin
首先需啟用universe repository (預設為關閉):
$ sudo add-apt-repository universe
接著下載安裝:
$ sudo apt install phpmyadmin php-mbstring php-gettext
完成後會出現phpMyAdmin安裝選單,web server選擇 apache2
,然後都選擇 OK
,並設定兩次密碼完成安裝,接著啟用 mbstring module
:
$ sudo phpenmod mbstring
重啟Apache2:
$ sudo systemctl restart apache2
安裝好後我們來創建新的使用者,phpMyAdmin預設已經有 root
和 phpmyadmin
這兩個使用者。首先以 root
登入MySQL:
$ mysql -u root -p
創建新的使用者:
CREATE USER '[Your Account]'@'localhost' IDENTIFIED BY '[Your Password]';
開通此帳號的權限:
GRANT ALL PRIVILEGES ON *.* TO '[Your Account]'@'localhost' WITH GRANT OPTION;
結束離開:
exit
現在打開 http://[ Your IP-Address]/phpmyadmin
並用剛才創建的新帳號登入phpMyAdmin:
最後,因為phpMyAdmin極易成為網路攻擊目標,因此比較常見的做法是在 .htaccess
中增加授權身分認證保護機制,我們先在 phpmyadmin.conf
中新增 AllowOverride All
:
$ sudo vi /etc/apache2/conf-available/phpmyadmin.conf
重啟Apache2:
$ sudo systemctl restart apache2
接著新增.htaccess
檔案:
$ sudo vi /usr/share/phpmyadmin/.htaccess
寫入以下程式碼:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
現在,創建一個新使用者來做為身分驗證帳號:
$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd [Your Account]
設定好密碼後重新登入phpMyAdmin,會看到多了以下登入介面:
以剛剛創建的驗證帳號即可登入,到這裡phpMyAdmin的安裝就全部完成啦!
安裝Composer
依下列步驟執行:
$ curl -sS https://getcomposer.org/installer | php$ sudo mv composer.phar /usr/local/bin/composer$ sudo chmod +x /usr/local/bin/composer
檢查是否安裝成功:
$ composer --version
安裝Laravel 6
在Ubuntu 18.04 LTS中,我們習慣將Laravel專案放置在/var/www/html
目錄下,因此請依序執行:
$ cd /var/www/html
下載:
$ composer create-project --prefer-dist laravel/laravel [Your Laravel Project Name]
設定資料夾權限:
$ chmod -R 755 [Your Laravel Project Name]
$ chmod -R 777 [Your Laravel Project Name]/storage
進入專案:
$ cd [Your Laravel Project Name]
創建 base64 random number encryption key:
$ php artisan key:generate
打開http://[ Your IP-Address]/[Your Laravel Project Name]/public
確認是否能成功看到Laravel預設首頁!
Git下來的Laravel專案如何設定執行?
首先將專案git clone至/var/www/html
,接著開始重建專案:
$ cd [Your Laravel Project Name]
下載composer依賴套件:
$ sudo composer install
將 .env.example 複製成 .env:
$ sudo cp .env.example .env
創建 base64 random number encryption key於.env中的APP_KEY
:
$ php artisan key:generate
打開.env並設定其中的DB連線相關參數(DB_DATABASE
、DB_USERNAME
、DB_PASSWORD
)。
坑點提醒!!!若DB是建置在內網中,則DB_HOST
設定127.0.0.1
即可,這牽扯到使用者權限問題,當初在這邊卡了一段時間,幸虧有前輩救援!
設定好後存檔離開並套用設定:
$ php artisan config:cache
接著離開專案並設定資料夾權限:
$ cd ..
$ chmod -R 755 [Your Laravel Project Name]
$ chmod -R 777 [Your Laravel Project Name]/storage
新增一個給 Laravel 專案使用的 apache2 conf:
$ sudo vim /etc/apache2/sites-available/laravel.conf
laravel.conf中的設定:
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/[Your Laravel Project Name]/public
<Directory /var/www/html/[Your Laravel Project Name]>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
關閉000-default.conf
設定,啟用laravel.conf
的設定,並重新啟動 Apache2:
$ sudo a2dissite 000-default.conf
$ sudo a2ensite laravel.conf
$ sudo a2enmod rewrite
$ sudo service apache2 restart
現在,我們只需要輸入http://[ Your IP-Address]/
即可開啟Laravel 6專案!
總結
完成上述操作後,目前各位的環境應包含:
● phpMyAdmin 4.6.6deb5
● Composer 1.9.1
● Laravel 6.9.0
感謝大家觀看,有關Ubuntu 18.04 LTS的相關環境安裝設定到此告一段落,那麼就下次見囉,See You!