知識文章AWS EC2 ubuntu 上安裝 Apache 以及相關設定筆記

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/
張貼者:吳政賢發佈。
瀏覽人數:1208 人