CentOS下搭建LAMP環境詳解

來源:互聯網
上載者:User

標籤:

前言:在這裡將介紹如何在CentOS下搭建LAMP環境(全部使用源碼編譯安裝),用於web伺服器開發。

 

•LAMP: Linux + Apache + PHP + Mysql。

•系統: CentOS 6.5,32位。

CentOS安裝

我選取了32位的CentOS 6.5這個Linux系統,安裝過程也很簡單,不再過多敘述,只稍微介紹一下我的分區情況:

 

分區名  大小

/boot  200MB

/swap  2GB(不大於物理分區即可)

/  20GB

/home 剩餘空間

 

Apache編譯安裝

我選擇了httpd 2.2這個版本,可以參考官方說明文檔。

 

安裝依賴:

安裝依賴需要用到的gcc、g++編譯器:

 

########gcc、g++

 

sudo  yum  install  gcc

sudo  yum  install  gcc-c++ 下面兩個是apache的最佳化工具:

 

########apr

 

wget  http://labfile.oss.aliyuncs.com/apr-1.5.1.tar.gz

tar  -zxvf  apr-1.5.1.tar.gz

cd  apr-1.5.1/

./configure  --prefix=/opt/apr

Sudo make && make install

 

########apr-util

 

cd  Downloads/

wget http://labfile.oss.aliyuncs.com/apr-util-1.5.4.tar.gz

tar  -zxvf  apr-util-1.5.4.tar.gz

cd  apr-util-1.5.4

./configure  --prefix=/opt/apr-util  --with-apr=/opt/apr

sudo make && make install

Perl庫,相容Regex庫:

 

cd  Downloads/

wget  http://labfile.oss.aliyuncs.com/pcre-8.36.tar.gz

tar  -zxvf  pcre-8.36.tar.gz

cd  pcre-8.36

./configure  --prefix=/opt/pcre

sudo make && make install

 

安裝apache

cd  Downloads/

wget http://labfile.oss.aliyuncs.com/httpd-2.2.29.tar.gz

tar  -zxvf  httpd-2.2.29.tar.gz

cd  httpd-2.2.29

./configure  --prefix=/opt/apache  --with-apr=/opt/apr  --with-apr-util=/opt/apr-util  --with-pcre=/opt/pcre

sudo make && make install

sudo sed -i ‘s/^#ServerName.*/ServerName localhost/‘ /opt/apache/conf/httpd.conf

 

測試:

啟動:

Sudo  /opt/apache/bin/apachectl  start擷取伺服器回應(安裝apache最後一步已經將伺服器設為localhost):

 

curl -I 127.0.0.1若安裝成功則如下:

 

 

關閉:

sudo /opt/apache/bin/apachectl stop

 

 

MySQL編譯安裝

安裝依賴:

注意: MySQL5.5之後的版本使用cmake進行編譯。

 

########若先前編譯過,則需要刪除剛才編譯產生的CMakeCache.txt檔案

 

rm  -f  CMakeCache.txt

 

sudo yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake cmake-gui libaio-devel bison-devel make

 

編譯安裝(時間較長):

Cd  Downloads/

Wget  http://labfile.oss.aliyuncs.com/mysql-5.6.24.tar.gz

Tar  -zxvf  mysql-5.6.24.tar.gz

cd  mysql-5.6.24

cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1

sudo make

sudo make install

 

建立mysql使用者:

id mysql > /dev/null 2>&1 || sudo useradd -r -s /sbin/nologin -M -d /opt/mysql/data mysql

 

初始化資料目錄:

sudo chown -R mysql:mysql /opt/mysql/data

sudo /opt/mysql/scripts/mysql_install_db --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql --defaults-file=/opt/mysql/support-files/my-default.cnf

 

修改設定檔:

sudo sh -c ‘cat >> /opt/mysql/my.cnf <<EOF

basedir = /opt/mysql

datadir = /opt/mysql/data

log-error = /opt/mysql/data/error.log

pid-file = /opt/mysql/data/mysql.pid

port = 3306

EOF‘

 

清除殘留檔案:

sudo sh -c ‘for file in /etc/mysql/my.cnf /etc/my.cnf ; do [ -f $file ] && rm -f $file ; done‘

 

啟動:

sudo /opt/mysql/support-files/mysql.server start

 

成功則顯示:

 

 

測試:

/opt/mysql/bin/mysqladmin ping

成功則顯示:

 

 

查看資料庫:

/opt/mysql/bin/mysql -u root -e ‘show databases;‘

 

關閉:

sudo /opt/mysql/support-files/mysql.server stop

 

成功則顯示:

 

 

PHP編譯安裝

安裝依賴:

cd  Downloads/

sudo yum install zlib1g-dev libbz2-dev libcurl4-gnutls-dev  libjpeg-dev libpng12-dev  libfreetype6-dev  libmcrypt-dev libxml2-dev

sudo yum install bzip2-devel -y

sudo yum -y install curl-devel

sudo yum install openssl openssl-devel -y

sudo yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y

sudo yum install libjpeg libjpeg-devel libpng libpng-devel

*以上不一定要全部安裝

 

########安裝Libmcrypt

tar -zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

sudo make

sudo make install

說明:libmcript預設安裝在 /usr/local

 

########安裝mhash

cd ..

tar -zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9

./configure

sudo make

sudo make install

 

#########安裝mcrypt

cd ..

tar  -zxvf  mcrypt-2.6.8.tar.gz

cd  mcrypt-2.6.8

LD_LIBRARY_PATH=/usr/local/lib  ./configure

sudo make

sudo make install

 

編譯安裝:

cd  Downloads/

wget http://labfile.oss.aliyuncs.com/php-5.5.21.tar.gz

tar -zxvf php-5.5.21.tar.gz

cd  php-5.5.21

./configure --prefix=/opt/php --with-bz2 --with-curl --with-jpeg-dir --with-gd --enable-shared --enable-mbstring --with-mcrypt --with-mysql=/opt/mysql --with-pdo-mysql=/opt/mysql --with-mysqli=/opt/mysql/bin/mysql_config --enable-fpm --enable-phar --enable-bcmath --with-zlib --enable-zip --enable-ftp --with-gettext --enable-sockets --with-freetype-dir  --with-config-file-path=/opt/php/etc/php.ini --with-config-file-scan-dir=/opt/php/etc/conf.d --with-apxs2=/opt/apache/bin/apxs

sudo make

sudo make install

sudo cp php.ini-production /opt/php/etc/php.ini

 

*錯誤裡面含有mysql,那是因為mysql-devel 沒有安裝。解決方案:yum install mysql-devel

 

檢查php是否支援mysql:

/opt/php/bin/php -m | grep mysql

 

若支援則顯示:

 

修改apache設定檔,添加php的支援配置:

sudo sh -c ‘cat >> /opt/apache/conf/httpd.conf <<EOF

<IfModule mime_module>

AddType application/x-httpd-php .php

</IfModule>

EOF‘

 

若關閉則開啟apache,否則重新啟動apache:

sudo /opt/apache/bin/apachectl -k restart測試:

sudo sh -c ‘echo "<?php echo phpinfo(); ?>" > /opt/apache/htdocs/test.php‘

 

在瀏覽器輸入:

http://localhost/test.php

配置成功則顯示php資訊:

 

 

*按以上步棸,注意php.ini檔案所在的位置應該是/opt/php/etc/php.ini/php.ini。

CentOS下搭建LAMP環境詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.