Ubuntu 14.04 安裝Apache, MySQL, PHP (LAMP) + WordPress 權限設定

Step 1 : Apache

安裝前請先sudo apt-get update
其他就不多說了,直接裝吧

sudo apt-get update
sudo apt-get install apache2

Step 2 : MySQL

安裝指令

sudo apt-get install mysql-server php5-mysql

設定安全性

sudo mysql_install_db
sudo mysql_secure_installation

Step 3 : PHP

安裝指令

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

修改一下路徑設定檔

sudo nano /etc/apache2/mods-enabled/dir.conf

裡面原本長這樣

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

現在要把index.php往前移

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

重啟Apache

sudo service apache2 restart

權限要先設定

設定apache2成爲自己設定之資料夾的group owner,同時也是owner

sudo chown -R www-data:www-data /home/my_user_name/my_path

把自己加進www-data的group裡面

sudo usermod -a -G www-data my_user_name

把www-data列爲最高group priority

sudo usermod -g www-data my_user_name

(以下是附贈的,斟酌使用)
把user踢出group,注意要先把group priority設成別的

sudo deluser

顯示目前group

groups my_user_name

更改資料夾權限

sudo chmod -R 775 /home/my_user_name/my_path

Step 4 : phpMyAdmin

自行下載並安裝phpMyAdmin比較好控制,現在載好的版本感覺是不用調整參數,預設cookie

參照以下網址(跟本沒動過阿XD)
paste.plurk.com/show/2081776

要自己重新設定的話,網址如下
/phpmyadmin/setup/index.php

Step 5 : 目錄更改

接下來要做的事情是,把根目錄改成自己的指定路徑:

sudo nano /etc/apache2/sites-available/000-default.conf

DocumentRoot /var/www/html

改成

DocumentRoot /home/my_user_name/my_path

注意不可以使用 ~/ 作爲home directory的簡寫

sudo service apache2 restart

修改 apache2.conf

sudo nano /etc/apache2/apache2.conf

新增

<Directory /path/to/another/directory>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
    Allow from all
</Directory>

重啓apache

sudo service apache2 restart

—參考文獻
[1] How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 14.04 – https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04
[2] Where to place my local website starting with the 2.4.7 version of apache2? – http://askubuntu.com/questions/448944/where-to-place-my-local-website-starting-with-the-2-4-7-version-of-apache2
[3] Apache can’t access folders in my home directory – http://askubuntu.com/questions/325498/apache-cant-access-folders-in-my-home-directory
[4] How to give apache2 permission to write and read files? – http://askubuntu.com/questions/246437/how-to-give-apache2-permission-to-write-and-read-files
[5] How To Install and Secure phpMyAdmin on Ubuntu 12.04 – https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04
[6] Howto: Linux Add User To Group – http://www.cyberciti.biz/faq/howto-linux-add-user-to-group/
[7] Permissions issue: how can Apache access files in my Home directory? – http://askubuntu.com/questions/26848/permissions-issue-how-can-apache-access-files-in-my-home-directory
[8] Enable Userdir – http://www.server-world.info/en/note?os=Ubuntu_14.04&p=httpd&f=5
[9] phpMyAdmin sample configuration – http://paste.plurk.com/show/2081776/

OS X 10.10 Yosemite 安裝Apache,PHP,MySQL,phpMyAdmin

對於一個通勤上班的人來說,11吋的MacBook Air真的是首選,為了工作需求,我必須在OS X上裝好網頁伺服器的功能,但是第一次安裝就把整個Apache給炸了,因為我更新了Yosemite但是參考的網頁是Mavericks…嘖嘖 這次是第二次在Yosemite架設,終於成功了,也比那些XAMPP、MAMP等好用太多,因為別人幫你裝好的東西,權限都不知道設去哪了

Step 1 : Apache

其實很簡單的一句話就可以打開Apache了,快點打開終端機(以下稱之Terminal) 開啟

sudo apachectl start

停止

sudo apachectl stop

重啟

sudo apachectl restart

如果有正確開啟Apache,在瀏覽器輸入 http://localhost 就會出現“It works!”的字樣喔! 一般來說,Apache會指定系統預設的資料夾來作為網站的根目錄:

/Library/WebServer/Documents/

我們可以直接在這個資料夾放我們想要放的網頁,甚至加個替身在桌面以利存取 但是!你會常常被系統問密碼,因為這個資料夾算是在System Level底下的 總不能為了這樣子把密碼取消吧! 所以我們可以改用User Level底下的根目錄 只要簡單的在家目錄底下(就是個人帳號資料夾)新增“Sites”資料夾即可,他就是預設被隱藏的個人根目錄資料夾,建立資料夾後他會自動有一個自己的圖案 Sites 接著要寫一些設定檔,讓系統知道你的指定網頁伺服器路徑,首先在底下這個路徑新增 username.conf 檔案(請自行將username換成自己的,不帶引號)

/etc/apache2/users/

因為會遇到許多權限問題,建議在Terminal底下使用 nano 來進行編輯,直接切換至上述目錄後,輸入

sudo nano username.conf

加入下面這段文字,記得一樣將 username 換成自己的

<Directory "/Users/username/Sites/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>

username.conf 的檔案權限應該長得像

-rw-r--r--   1 root  wheel  298 Jun 28 16:47 username.conf

如果不是,就需要調整檔案權限

sudo chmod 644 username.conf

接著我們要開啟一些Apache的功能

sudo nano /etc/apache2/httpd.conf

確定下述的模組都有開啟(沒有備註解掉)

LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so

還有這個檔案也要開啟,不能被註解(因為使用user level路徑)

Include /private/etc/apache2/extra/httpd-userdir.conf

打開上述被引入的 httpd-userdir.conf 檔案

sudo nano /etc/apache2/extra/httpd-userdir.conf

去掉註解:

Include /private/etc/apache2/users/*.conf

重啟Apache

sudo apachectl restart

此時伺服器位置應該變成 http://localhost/~username/

/*************************************************************
** 使用Document Root當作伺服器目錄的人,記得要 Override .htaccess 喔!
** Terminal 鍵入
** sudo nano /etc/apache2/httpd.conf
** 按ctrl + w 鍵搜尋 AllowOverride 這個單字,參數改成 All
** AllowOverride All
**
** 並去掉以下註解 
** LoadModule rewrite_module libexec/apache2/mod_rewrite.so
*************************************************************/

Step 2 : PHP

PHP 5.5.14 已經預設安裝在OS X Yosemite,只需要做一些設定就可以打開

sudo nano /etc/apache2/httpd.conf

去掉註解

LoadModule php5_module libexec/apache2/libphp5.so

重啟Apache

sudo apachectl restart

Step 3 : MySQL

OS X Yosemite 沒有內建MySQL,要自己去官網抓來裝囉 先選 Mac OS X 10.9 (x86, 64-bit), DMG Archive ,目前還沒有10.10版本,安裝過程中有可能會遇到Installation Failed,但還是可以正常運作,安裝完畢後可以在設定裡找到MySQL來執行,也可以透過Terminal執行

sudo /usr/local/mysql/support-files/mysql.server start

習慣Terminal執行的人,可以自行新增環境變數

cd ; nano .bash_profile

找空白處貼上

export PATH="/usr/local/mysql/bin:$PATH"

重新載入shell

source ~/.bash_profile

然後要設定MySQL的帳號密碼(密碼要用單引號包著喔)

/usr/local/mysql/bin/mysqladmin -u root password 'yourpasswordhere'

然後要做一點調校,避免常常跳出來的 “2002 MySQL Socket error”

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

接著是自動執行MySQL,在OS X設定裡出現的開機自動啟動選項是不能用的,要自己寫進plist

sudo nano /Library/LaunchDaemons/com.mysql.mysql.plist

新增下段文字

<!--?xml version="1.0" encoding="UTF-8"?-->
<plist version="1.0">
  <dict>
    <key>KeepAlive</key>
    <true />
    <key>Label</key>
    <string>com.mysql.mysqld</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/mysql/bin/mysqld_safe</string>
      <string>--user=mysql</string>
    </array>        
  </dict>
</plist>

儲存後執行下面指令

sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist

Step 4 : phpMyAdmin

下載phpMyAdmin最新版本,解壓縮至伺服器跟目錄(自己命名,這邊以phpmyadmin為例),然後新增一個config資料夾

mkdir ~/Sites/phpmyadmin/config

給他權限

chmod o+w ~/Sites/phpmyadmin/config

然後就開始設定,打開網址

/伺服器位址/phpmyadmin/setup/

點選”New Server”標籤,接著點選”認證”標籤,輸入稍早設定的MySQL帳號密碼後,點Save,接著去看config資料夾,把新增的config.inc.php移到phpMyAdmin的跟目錄,就可以刪掉config資料夾了

Extra : 權限設定

如果在執行網頁程式時有遇到權限問題(例如Wordpress),可以透過下列調整使Apache有R/W的能力,但是請確定這是localhost測試用,或是自用伺服器測試站,因為一旦設定後,你的Apache執行權限就是使用者本人了,完全root權限。 首先在Terminal查詢自己的uid及gid

id

可能會長這樣

uid=502(admin) gid=20(staff)

我們需要admin及staff這兩個單字,分別代表user及group 把它們(User及Group)新增在/etc/apache2/httpd.conf底下

sudo nano /etc/apache2/httpd.conf

找到

User _www
Group _www

看是要註解掉舊的還是直接改掉,把 _www 各自改成剛剛查到的單字,例如

User admin
Group staff

存檔後記得重啟Apache,請注意,這樣做是有安全性風險的,務必確認這台機器僅限本機測試使用。

Extra : Apache 開關App

此步驟可以建立一個切換Apache開關的App在桌面,打開 工具/工序指令編寫程式 之後貼上下方程式碼,在儲存成應用程式

do shell script "/usr/sbin/apachectl stop 2>&1" with administrator privileges
if result = "" then
display dialog "Apache Stopped" with icon 2 buttons ¬
{"OK"} giving up after 1


else
do shell script "/usr/sbin/apachectl start" with administrator privileges
display dialog "Apache Started" with icon 2 buttons ¬
{"OK"} giving up after 1
end if

—–參考文獻—–
[1] Get Apache, MySQL, PHP and phpMyAdmin working on OSX 10.10 Yosemite – http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/
[2] Installing phpMyAdmin on Mac OSX 10.9 Mavericks & 10.8, 10.7, 10.6 – http://coolestguidesontheplanet.com/installing-phpmyadmin-on-mac-osx-10-7-lion/

Ubuntu 14.04.1 架站 Nginx, PHP, MySQL

不知道是哪根筋不對,一直想要在老舊機器安裝Windows Server 2008,然後卡在PHP裝不起來(什麼少了msvcr110.dll…我都裝了VCR 2012 U4了…)好吧我承認是銘傳雲端太方便,捨不得離開R2 Datacenter!哈哈,但是在單核Celeron實在太痛苦,只好改裝最熟悉的陌生人Ubuntu。

之前總是使用Apache來做Server,也是比較常用的Server,會知道Nginx是有一次系網站主機掛掉,出現的Default 404看到Nginx這英文單字才去Google的,原來是輕量級伺服器,但是對於小弟我這初學者實在是感覺不出來Server Loading的重要性…好吧,總是要學學新東西的,先裝起來再說,這次參考的網頁,除了安裝之外,還多了基本的安全性設定喔。

閱讀全文〈Ubuntu 14.04.1 架站 Nginx, PHP, MySQL〉

[Ubuntu] 筆記: 無線網路DSL, FTP Server, LAMP Server 及 Ubuntu Software Source更改

Ubuntu 12.04 x64

[Ubuntu的ipconfig]
ifconfig

[Ubuntu 打開root權限的GUI資料夾]
sudo nautilus

[無線網路使用DSL做PPPoE]
為了使用中華的固定IP,就要用PPPoE的方式取得IP
可是我房間沒有實體線路,所有機器都是無線…

sudo pppoeconf wlan0
//然後他就會在Terminal裡跳到一個config視窗,會要求設定PPPoE的帳號密碼
//設定好了之後他會問要不要每次開機都連這個設定檔

開/關方法:
sudo pon dsl-provider
sudo poff dsl-provider

[架設FTP伺服器 – vsftpd]

sudo apt-get install vsftpd

檢查FTP Port有沒有裝起來
netstat -tul | grep ft

調整參數
sudo gedit /etc/vsftpd.conf
(懶人使用gedit,vi還不熟)

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

其實有些我忘了XD

然後根據我的測試,如果我有照上面紅字那樣設定,我的vsftpd.chroot_list會成為”限制名單”

sudo gedit /etc/vsftpd.chroot_list

設定完之後,要記得重啟vsftpd

sudo /etc/init.d/vsftpd restart

可以再利用上面的netstat -tul | grep ft檢查有沒有啟動成功
如果沒有成功,大概是有些自己加的參數不對喔
我一下看CentOS的,一下看Ubuntu的,所以設定參數時有點不知道該聽誰的
可是明明我就在用Ubuntu
這種感覺就像叫你會戰先打輸出,可是偏偏你離坦比較近,你總是一直打坦…

接著照鳥哥說的,把權限低於500的帳號都加進來
可以去/etc/passwd看全部帳號

//筆記一下…我還沒去調資料夾權限,結果新帳號竟然可以read主機的資料,好險只能read,目前懶得改XD

還可以加入FTP歡迎訊息
gedit一個 .message 檔案
把”.message”存在 /home/

[LAMP : Apache2 + MySQL + PHP]

原本試想一個一個安裝,學一下
懶人病又犯了…直接上懶人包

sudo apt-get install lamp-server^

//後面加^,表示順便執行

然後我就遇到老問題….就是tw.archive.ubuntu.com老是連不到,不然就是連很慢

可以跳至下一趴看看

//筆記: sudo apt-get install libapache2-mod-auth-mysql 疑似要裝?

然後是phpMyAdmin

sudo apt-get install phpmyadmin

照網頁上說,可以測看看有沒有裝起來
localhost/phpmyadmin

我好像失敗了
爬了文才曉得我好像沒有掛載它
sudo gedit /etc/apache2/apache2.conf

加入
Include /etc/phpmyadmin/apache.conf

重啟
sudo service apache2 restart

[更改Software Source]

東西在
/etc/apt/sources.list

要直改的話需要一點sense,不然錯一個就掛了
最安全的就利用GUI
(可惡我一直依賴GUI,以後都不裝GUI了拉)
在Ubuntu Software Center裡的Software Sources設定
把Download From調至United States
就不用一直等tw的伺服器了

[主機名稱DNS]

sudo gedit /etc/hosts

——————————————————–
參考網頁:
http://note.drx.tw/2008/08/networkpppoe-adsl.html
http://mkbfb.blogspot.tw/2008/01/ubuntu-vsftp.html
http://blog.udn.com/nigerchen/2261345

http://flzen.wordpress.com/2011/05/07/lamp-on-ubuntu/
http://nelsonchunglife.blogspot.tw/2011/02/install-lamp-under-ubuntu-1010.html
http://www.arthurtoday.com/2009/11/ubuntu-apache2.html#.UqRzdvQW2UY
https://www.digitalocean.com/community/articles/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04

http://chunhsing.pixnet.net/blog/post/31808798-%5Bubuntu%5D%E7%95%B6tw.archive.ubuntu.com%E9%80%A3%E4%B8%8D%E4%B8%8A%E6%99%82%EF%BC%8C%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95