在Cubieboard 上安裝LAMP server

在Cubieboard 上安裝LAMP server (Linux, Apache, MySQL, PHP)

安裝MySQL

首先先更新一下套件資訊

server# aptitude update && aptitude upgrade

安裝MySQL套件, 在安裝過程中, 會要求你建立MySQL root 的密碼.

server# apt-get install mysql-server mysql-client

若沒有建立MySQL root 密碼, 也可以事後用下列指令來建立:

server# /usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'

安裝Apache2

安裝Apache套件

server# apt-get install apache2 apache2-doc

安裝PHP

安裝PHP套件

server# apt-get install php5 php5-mysql libapache2-mod-php5

乾脆順便安裝apache 的perl, python 套件好了

server# apt-get install perl libapache2-mod-perl2
server# apt-get install python libapache2-mod-python

讓使用者也可以在自己的Home Directory 建立網頁

啟用apach2 的 userdir 模組

server# a2enmod userdir

修改/etc/apache2/mods-enabled/userdir.conf 檔案如下, 請視自己需求而修改.


        UserDir public_html
        UserDir disabled root

        
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                
                        Order allow,deny
                        Allow from all
                
                
                        Order deny,allow
                        Deny from all
                
        

然後在User的Home Directory 下建立publi_html 目錄(不需是root)

server$ mkdir /home/$USER/public_html

修改此目錄的group 為www-data (需要是root 才能做)

server# chgrp www-data /home//public_html

並且確定使用者的Home directory 權限必須是755, 不然apache 無法存取的public_html 目錄

server# chmod 755 /home/

若要讓使用者也可以用php, 則修改/etc/apache2/mods-available/php5.conf, 把下列幾行給註解起來

#
#    
#        php_admin_value engine Off
#    
#

然後重新啟動apache即可

server# /etc/init.d/apache2 restart

安裝phpMyAdmin

server# apt-get install phpmyadmin

安裝期間, 他會問你目前使用http server的程式是Apache or 其他, 選Apache 就對了.

接下來他會問你MySql 的root 密碼.

再接下來他會問你要進入phpMyAdmin的密碼 (注意: 帳號名稱為phpmyadmin).

然後使用Browser 連線 http://your_ip/phpmyadmin 即可.

連進去後, 你可以使用MySQL 的root 帳密登入, 或者是phpmyadmin 的帳密登入.
MySql root 的帳號擁有全部權限, 但是phpmyadmin 帳號的權限有限制.

Apache, PHP, MySQL, phpMyAdmin 的設定檔

設定檔如下, 裡面有詳細說明, 請視情況修改其內容.

/etc/apache2/apache2.conf
/etc/php5/apache2/php.ini
/etc/mysql/my.cnf
/etc/phpmyadmin/apache.conf   (這個檔會被link到/etc/apache2/conf.d/phpmyadmin.conf)

在PHP 中使用MySQL

嗯…好像php default 就會使用mysql 了, 不需再額外設定

Apache Virtual Host 設定

在/etc/apache2/sites-available 目錄下建立virtual host 設定檔. 建議檔跟domain name 一樣. 比較好管理.
假設你的virtual host 的domain name 是www.myblog.idv.tw. 那麼設定檔名就是www.myblog.idv.tw
其內容如下:


        ServerAdmin  your-email@mail_addr.com     ### Your email address

        DocumentRoot /www/myblog/html             #### 存放網頁的目錄
        ServerName www.myblog.idv.tw              ### 你的virtual host 的domain name
        AddDefaultCharset UTF-8
        
                Options FollowSymLinks
                AllowOverride All
        
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        

        ErrorLog /www/log/error.log                  ### Error 的記錄案

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /www/log/access.log combined    ### Access 的記錄檔

然後在/etc/apache2/sites-enable 目錄下建立上述檔案的link

server# cd /etc/apache2/sites-enable
server# ln -s ../www.myblog.idv.tw 100-www.myblog.idv.tw

這個link 的前3為數字好像沒啥作用, 我只是照著此目錄的習慣來做而已, 純粹好看.

啟用Apache額外的module

將要啟用的module 在/etc/apache2/modes-enable 建立link即可

例如我想啟用/etc/apapche2/rewrite.load 這個module, 只要如下設定並重新啟動apache

server# cd /etc/apache2/mods-enable
server# ln -s ../mods-available/rewrite.load rewrite.load
server# /etc/init.d/apache2 restart

參考資料

  1. LAMP, Linux Apache MySQL PHP
  2. VirtualHost Examples
This entry was posted in embedded system, 架站 and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *