Apache+PHP+MySQL 安裝與設定

安裝環境:

Linode 的 CentOS 6.2 64bit Profile (Latest 3.4 (3.4.2-x86_64-linode25))

◎ 安裝 Apache, PHP, MySQL

# yum install httpd php mysql-server php-devel php-mysql php-mbstring php-gd

設定 Apache 服務隨系統一起啟動

# chkconfig httpd on

確認 Apache 自動啟動有打開

# chkconfig –list httpd

httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

確認2–5要為on

利用 phpinfo() 檢查看看 httpd 與 php 是否正常

# vim /var/www/html/test_httpd.php

建立一個php網頁檔,內容輸入:

<?php phpinfo(); ?>

打開瀏覽器,網址輸入 http://(server的ip位址)/test_httpd.php

可以看到 PHP 版本為 5.3.3、Apache 版本為 2.2.15

◎ 修改apache設定檔

# vim /etc/httpd/conf/httpd.conf

Timeout 120

# 不論接收或傳送,當持續連線等待超過 120 秒則該次連線就中斷。

# 一般來說,此數值在 300 秒左右即可

# 設定保持持續連線

KeepAlive Off #改為 On

MaxKeepAliveRequests 100 #設為0即無限制

# prefork預設值

<IfModule prefork.c>

StartServers       8

MinSpareServers    5

MaxSpareServers    20

ServerLimit       256

MaxClients        256

MaxRequestsPerChild  4000

</IfModule>

# 依server的等級調整數字,我是修改為

<IfModule prefork.c>

ServerLimit       4000

StartServers       8

MinSpareServers    10

MaxSpareServers    64

MaxClients        4000

MaxRequestsPerChild  20000

</IfModule>

# ServerLimit要放在第一項才有用 http://www.lslnet.com/linux/f/docs1/i44/big5305295.htm

# apache程序的使用者與群組

User apache

Group apache

#ServerName www.example.com:80 改為 server的IP位址:80

ServerName xxx.xxx.xxx.xxx:80

#網頁根目錄預設存放的地方

DocumentRoot “/var/www/html”

DirectoryIndex #要再加上 index.htm 至於 index.php 在 conf.d/php.conf 裡會加

# 下面這些沒在用 cgi 可以註解掉

# ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”

#<Directory “/var/www/cgi-bin”>

#    AllowOverride None

#    Options None

#    Order allow,deny

#    Allow from all

#</Directory>

# AddLanguage 留英文與繁體中文就好

AddLanguage en .en

AddLanguage zh-TW .zh-tw

LanguagePriority en zh-TW

#下面這些沒在用可以註解掉

#AddHandler type-map var

#AddType text/html .shtml

#AddOutputFilter INCLUDES .shtml

#BrowserMatch “Mozilla/2” nokeepalive

#BrowserMatch “MSIE 4\.0b2;” nokeepalive downgrade-1.0 force-response-1.0

#BrowserMatch “RealPlayer 4\.0” force-response-1.0

#BrowserMatch “Java/1\.0” force-response-1.0

#BrowserMatch “JDK/1\.0” force-response-1.0

#BrowserMatch “Microsoft Data Access Internet Publishing Provider” redirect-carefully

#BrowserMatch “MS FrontPage” redirect-carefully

#BrowserMatch “^WebDrive” redirect-carefully

#BrowserMatch “^WebDAVFS/1.[0123]” redirect-carefully

#BrowserMatch “^gnome-vfs/1.0” redirect-carefully

#BrowserMatch “^XML Spy” redirect-carefully

#BrowserMatch “^Dreamweaver-WebDAV-SCM1” redirect-carefully

重新啟動 apache

# service httpd restart

◎ 修改 /etc/php.ini

# vim /etc/php.ini

;是否要使用像這種 <?=$foo?> 的簡寫符號

short_open_tag = Off

;這個可以調大點,設成40960

output_buffering = 4096

;記憶體用量限制

memory_limit = 128M

;不顯示error,而是記錄在 /var/log/httpd/error_log

display_errors = Off

log_errors = On

ignore_repeated_errors = On

ignore_repeated_source = On

;設定時區

date.timezone = Asia/Taipei

; cookie存活時間(秒),設為0的話瀏覽器關掉即到期

session.cookie_lifetime = 3600

; session存活時間

session.gc_maxlifetime = 3600

◎ 設定 MySQL

初次啟動

# service mysqld start

修改root密碼

# mysqladmin -u root password ‘your.password’

登入看看

#mysql -u root -p

離開

mysql> exit

設定 MySQL 服務隨系統一起啟動

# chkconfig mysqld on

確認 MySQL 自動啟動有打開

# chkconfig –list mysqld

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

2-5要為on

 

● 安裝 phpMyAdmin

 

http://www.phpmyadmin.net/ 下載新版的 phpMyAdmin

解壓縮到 /var/www/html/phpMyAdmin 之下

# cd /var/www/html

# wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/x.x.x/phpMyAdmin-x.x.x-all-languages.tar.gz?use_mirror=ncu

 

# tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz

# mv phpMyAdmin_x.x.x-all-languages phpMyAdmin

 

# cd /var/www/html/phpMyAdmin

# cp config.sample.inc.php config.inc.php

 

# vim config.inc.php

將   $cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;改為 $cfg[‘Servers’][$i][‘auth_type’] = ‘http’;

打開瀏覽器,輸入網址

http://(ip位址)/phpMyAdmin

帳號密碼輸入 MySQL 的 root/密碼

 

出現:缺少 mcrypt 外掛。請檢查 PHP 設定

 

安裝 EPEL (Extra Packages for Enterprise Linux) 套件庫

先到 http://download.fedoraproject.org/pub/epel/6/x86_64/

尋找新的 epel-release-x-x.noarch.rpm 複製連結

# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-x-x.noarch.rpm

更新套件庫

# yum update

接著就可以安裝 php-mcrypt 了

# yum install php-mcrypt

 

發表於 未分類 | Apache+PHP+MySQL 安裝與設定 已關閉迴響。

Linux常用命令及技巧

在Linux的世界裡,有太多的細節需要去記住:Bash命令,常用的配置,一些實用的小技巧。。。這些知識非常細碎,但卻會時不時地用到。雖然從各種各樣的Linux書籍中可以找到相關的內容,但這些細節過於龐雜,完全用腦子記住比較困難,而翻閱書本又比較的消耗時,因此集中總結在這裡,並於今後不斷補充,方便查閱。

批量替換檔中的字串,介紹兩種不同的方法

#!/bin/sh

for file in $(find . -type f -name <filename>)

do

cat $file | sed “s/text_to_replace/replacement/g” > $file.new

mv $file.new $file

done

 

sed -ie “s/text_to_replace/replacement/g” `find . -type f -name <filename>`

 

注意:sed在Linux下是用-i,在Unix/Macos下是 -ie

 

寫個腳本,把data目錄下,所有size為0,但是檔案名不是以.a結尾的檔,移到別的目錄

 

find . -size 0 ! -name ‘*.a’ -print0 | xargs -0 -I FILE mv FILE <otherdir>

統計項目的java代碼總行數

 

wc -l $(find . -type f -name ‘*.java’)

 

將用戶usera分配進用戶組groupa

 

usermod -a -G groupa usera

 

使用DHCP

 

修改相應的網卡設定檔,假設網卡名稱為eth0,那麼檔案名為:/etc/sysconfig/network-scripts/ifcfg-eth0

 

DEVICE=eth0

USERCTL=no

ONBOOT=yes

BOOTPROTO=dhcp

BROADCAST=192.168.1.255

NETWORK=192.168.1.0

NETMASK=255.255.255.0

IPADDR=192.168.1.5

 

 

將ONBOOT設為yes,將BOOTPROTO設為dhcp

 

設置BASH快速鍵

把常用的,同時字元比較多的命令綁定到快速鍵上。比如經常用到的:

 

ps -ef | grep <process_name>

 

 

將上述命令綁定到CTRL+B:首先確保BASH環境為emacs模式,而不是vi]模式:

 

set -o emacs

 

 

然後在~/.inputrc中添加下述內容:

 

$if mode=emacs

“\C-b”: “ps -ef | grep ”

$endif

 

最後輸入下述命令使配置生效:

 

source ~/.inputrc

 

 

在BASH下設置網路代理

 

export http_proxy=http://<your_proxy>:<your_proxy_port>

 

 

從機器A登錄至機器B,使用SSH進行無密碼登錄

 

在機器A上生成個人證書:

 

ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (~/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in ~/.ssh/id_rsa.

Your public key has been saved in ~/.ssh/id_rsa.pub.

The key fingerprint is: …

The key’s randomart image is: …

 

 

將生成的公開金鑰id_rsa.pub裡面的內容,複製到機器B的~/.ssh/authorized_keys中。

 

寫一行命令,統計出/usr/bin目錄中的bash腳本和每個腳本的代碼行數,並排序

 

wc -l $(file /usr/bin/* | grep “script” | grep -v perl | cut -d: -f1) | sort

 

 

使MacOS的ls命令顯示顏色

 

編輯~/.profile:

 

alias ls=”ls -G”

發表於 未分類 | 已標籤 , | Linux常用命令及技巧 已關閉迴響。

chmod

1代碼:

chmod [mode] file

 

其中m o d e是一個八進位數。

在絕對模式中,許可權部分有著不同的含義。每一個許可權位用一個八進位數來代表,如

代碼:

0 4 0 0 文件屬主可讀

0 2 0 0 文件屬主可寫

0 1 0 0 檔屬主可執行

 

0 0 4 0 屬組用戶可讀

0 0 2 0 屬組用戶可寫

0 0 1 0 屬組用戶可執行

 

0 0 0 4 其他用戶可讀

0 0 0 2 其他用戶可寫

0 0 0 1 其他用戶可執行

 

在設定許可權的時候,只需按照上面查出與檔屬主、屬組用戶和其他用戶所具有的許可權相對應的數字,並把它們加起來,就是相應的許可權表示。

可以看出,檔屬主、屬組用戶和其他用戶分別所能夠具有的最大許可權值就是7。

再來看看前面舉的例子:

代碼:

-rwxr–r–  1   root            0 10月 19 20:16 temp

 

相應的許可權是:

代碼:

rwx-:0400 + 0200 +0100 (檔屬主可讀、寫、執行) = 0 7 0 0

r–:0 0 4 0 (屬組用戶可讀) = 0 0 4 0

r–:0 0 4 0 (屬組用戶可讀) = 0 0 4 0

0 7 4 4

 

有一個計算八進制許可權表示的更好辦法,如下:

文件屬主:r w x:4 + 2 + 1

屬組用戶:r w x:4 + 2 + 1

其他用戶:r w x:4 + 2 + 1

 

這上面這相,更容易地計算出相應的許可權值,只要分別針對檔屬主、屬組用戶和其他用戶把相應許可權下面的數位加在一起就可以了。

temp檔具有這樣的許可權:

代碼:

r w x     r – – r – –

4+2+1  4     4

 

把相應許可權位所對應的值加在一起,就是7 4 4。

如:

代碼:

chmod 666 rw- rw- rw- 賦予所有用戶讀和寫的許可權

chmod 644 rw- r– r- – 賦予所有檔屬主讀和寫的許可權,所有其他用戶讀許可權

chmod 744 rwx r– r- – 賦予檔屬主讀、寫和執行的許可權,所有其他用戶讀的許可權

chmod 664 rw- rw- r- – 賦予文件屬主和屬組用戶讀和寫的許可權,其他用戶讀許可權

chmod 700 rwx — — 賦予檔屬主讀、寫和執行的許可權

chmod 444 r– r– r- – 賦予所有用戶讀許可權

發表於 未分類 | 已標籤 , | chmod 已關閉迴響。