AWS EC2 ubuntu 上安裝 Apache 以及相關設定筆記
此篇來記錄一下在 Amazon Web Services(AWS) 的 Elastic Compute Cloud(EC2) 上面架設 Apache2 的一些心得與筆記!其實在我們宙思官網上也都已經是使用 AWS 的相關服務,其中包含了 EC2 與 Simple Storage Service(S3) 的相關應用囉,以下是先針對 EC2 上面架設 Apache 來提供 Http 服務的筆記,有需要的人可以參考一下喔!
安裝指令
sudo apt-get install apache2
驗證是否成功就開啟瀏覽器並且輸入該台 EC2 的 IP(還沒將 Domain 指向的話) 看是否便可以瀏覽。其查詢可以至 /etc/apache2/sites-available
查詢 DocumentRoot。
※ 預設 Apache 的根目錄為 /var/www/html
,將其更改為你所需要的位置。
設定
- 開啟編譯
/etc/apache2/apache2.conf
,設定 Directory 如下,不過可依據自己需求而設定。<Directory /home/ubuntu/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
- 複製一份自己的設定,所以下指令
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/my.conf
- 設定系統時間,若有設定過則免此步驟
sudo locale-gen zh_TW.UTF-8
- 重新載入設定,若是有錯誤,請確認是否由預設的設定影響,有的話記得關閉(a2dissite)
- 停用設定
sudo a2dissite 000-default.conf
- 啟用設定
sudo a2ensite my.conf
- 停用設定
重新啟動 Apache
sudo service apache2 restart
PHP 設定
這邊要特別注意,以下是使用 php5 為例子,若有要使用 php 7 的話,要特別注意,改天會再補充 php7 的安裝方式。
- 安裝 php5 以及相關應用 Libs,相關 Libs 可自行評估並依照需求決定是否安裝。
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
- 開啟 rewrite,主要是要配合一些 Framework 的使用,所以需要開啟
sudo a2enmod rewrite
- 重新啟動 Apache
sudo service apache2 restart
設定 vhosts
Virtual Host 是 http server 一項重要設定,主要是將不同 domain 指向不同的目錄下以方便管理不同的 domain。
- 預設檔案目錄在
/etc/apache2/sites-available/my.conf
- 基本預設的設定,以宙思官網當例子
<VirtualHost *:80> ServerAdmin admin@zeusdesign.com.tw DocumentRoot /var/www ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
- 不同 Domain 下的設定
<VirtualHost *:80> ServerName test.zeusdesign.com.tw ServerAlias test.zeusdesign.com.tw ServerAdmin admin@zeusdesign.com.tw DocumentRoot /var/www/test ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/test> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
- 自動轉移到 https 下的話,就在 VirtualHost 內加入
Redirect permanent / https://www.zeusdesign.com.tw/