LAMP源码编译安装配置+wordpress
生活随笔
收集整理的這篇文章主要介紹了
LAMP源码编译安装配置+wordpress
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?什么是LAMP呢?LAMP就是Linux+apache+mysql+php,一組常用來搭建動態網站或者靜態網站的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平臺。Linux系統穩定,而apache功能強大,mysql也是開源的性能優越的數據庫,php用來是web服務器支持動態php網頁,他們四者是面向應用的黃金組合。
下面是Linux + httpd-2.4.1 + mysql-5.5.19 + php-5.3.10的編譯安裝過程: 一,編譯安裝apache 二、安裝mysql-5.5.19 三、編譯安裝php-5.3.10 四,安裝phpMyAdmin-3.2.5,以便于我們以圖形化的方式管理mysql 五,建站工具wordpress的安裝 首先,我們要配置好yum源。可以把我們的yum源指向我們的光盤中的Server目錄,方便我們安裝其中的軟件包. 一、編譯安裝apache 1、解決依賴關系 httpd-2.4.1需要較新版本的apr和apr-util,因此需要事先對其進行升級。 升級方式有兩種,一種是通過源代碼編譯安裝,第二種是直接升級rpm包。 第一種:源代碼編譯安裝: apr-1.4.6: # ./configure --prefix=/usr/local/apr? # make # make install apr-util-1.4.1: # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr= ?指定apr的位置 # make # make install 第二種:用rpm包直接升級(這個rpm包可以自己制作或是網上下載): 共需要如下4個軟件包: apr-1.4.6-1.i386.rpm apr-devel-1.4.6-1.i386.rpm apr-util-1.4.1-1.i386.rpm apr-util-devel-1.4.1-1.i386.rpm #rpm -Uvh apr-1.4.6-1.i386.rpm ?apr-devel-1.4.6-1.i386.rpm #rpm -Uvh apr-util-1.4.1-1.i386.rpm ?apr-util-devel-1.4.1-1.i386.rpm 另外,httpd-2.4.1編譯過程也要依賴于pcre-devel軟件包,需要事先安裝。此軟件包系統光盤自帶,可以用yum命令安裝: #yum install pcre-devel 2、編譯安裝httpd-2.4.1 首先下載httpd-2.4.1到本地,而后執行如下命令進行編譯安裝過程。 首先兩個開發包組要安裝,這是編譯安裝所必要的: #yum groupinstall "Development Tools" "Development Libraries" # tar xf httpd-2.4.1.tar.bz2 # cd httpd-2.4.1 # ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib ? ? --prefix= 指定安裝路徑 --sysconfdir= 指定配置文件的安裝路徑 --enable-so ?啟用DSO功能,讓apache在需要的時候動態裝載模塊,這個很重要 --enable-ssl 啟用ssl功能 --enable-cgi 啟用cgi功能 --enable-rewrite 啟用URL重寫 --with-zlib? # make ? ? ? ? ? 編譯 # make install ? 安裝 3、修改httpd的主配置文件,設置其Pid文件的路徑 #vim /etc/httpd/httpd.conf 添加如下行即可: PidFile ?"/var/run/httpd.pid" 4、提供SysV服務腳本/etc/rc.d/init.d/httpd: 編輯這個文件,添加如下內容,保存退出 vim /etc/rc.d/init.d/httpd #!/bin/bash # # httpd ? ? ? ?Startup script for the Apache HTTP Server # # chkconfig: - 85 15 # description: Apache is a World Wide Web server. ?It is used to serve \ # ?? ? ? HTML files and CGI. # processname: httpd # config: /etc/httpd/conf/httpd.conf # config: /etc/sysconfig/httpd # pidfile: /var/run/httpd.pid # Source function library. . /etc/rc.d/init.d/functions if [ -f /etc/sysconfig/httpd ]; then . /etc/sysconfig/httpd fi # Start httpd in the C locale by default. HTTPD_LANG=${HTTPD_LANG-"C"} # This will prevent initlog from swallowing up a pass-phrase prompt if # mod_ssl needs a pass-phrase from the user. INITLOG_ARGS="" # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server # with the thread-based "worker" MPM; BE WARNED that some modules may not # work correctly with a thread-based MPM; notably PHP will refuse to start. # Path to the apachectl script, server binary, and short-form for messages. apachectl=/usr/local/apache/bin/apachectl httpd=${HTTPD-/usr/local/apache/bin/httpd} prog=httpd pidfile=${PIDFILE-/var/run/httpd.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd} RETVAL=0 start() { echo -n $"Starting $prog: " LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS RETVAL=$? echo [ $RETVAL = 0 ] && touch ${lockfile} return $RETVAL } stop() { echo -n $"Stopping $prog: " killproc -p ${pidfile} -d 10 $httpd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} } reload() { echo -n $"Reloading $prog: " if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then RETVAL=$? echo $"not reloading due to configuration syntax error" failure $"not reloading $httpd due to configuration syntax error" else killproc -p ${pidfile} $httpd -HUP RETVAL=$? fi echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status -p ${pidfile} $httpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f ${pidfile} ] ; then stop start fi ;; reload) reload ;; graceful|help|configtest|fullstatus) $apachectl $@ RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}" exit 1 esac exit $RETVAL 而后為此腳本賦予執行權限: # chmod +x /etc/rc.d/init.d/httpd 把httpd服務加入服務列表: # chkconfig --add httpd #chkconfig httpd on 接下來我們就可以執行service相關命令了 開啟httpd服務: #service httpd start? 二、安裝mysql-5.5.19 1、準備數據存放的文件系統 在企業應用中,由于數據庫中的數據變化量是很大的,為了方便管理,我們可以把數據庫放在一個邏輯卷上,可以很方便的擴展或縮減其空間大小,利用管理。 首先進行分區,用作物理卷的分區的id為8e,大小為10G,我們這里以創建分區/dev/sda3為例: #fdisk /dev/sda 讓kernel識別新建的分區: #partprobe /dev/sda 創建物理卷: #pvcreate /dev/sda3 創建卷組: #vgcreate myvg /dev/sda3 創建邏輯卷; #lvcreate -L 5G -n lv_mydata myvg 格式化邏輯卷: #mke2fs -j /dev/myvg/lv_mydata 邏輯卷的掛載目錄為/mydata,/mydata/data目錄來存放mysql的數據: #mkdir -p /mydata/data 使邏輯卷開機自動掛載: #vim /etc/fstab 添加如下行: /dev/myvg/lv_mydata ? ? /mydata ? ?ext3 ? ?defaults ? ? 0 0 掛載/etc/fstab中的文件系統: #mount -a 2、新建系統用戶以安全方式運行mysqld進程: # groupadd -r mysql # useradd -g mysql -r -s /sbin/nologin -M ?mysql 由于/mydata/data是用于存放mysql數據的文件,故要更改其屬主屬組為mysql: # chown -R mysql:mysql /mydata/data 3、安裝并初始化mysql-5.5.19 首先下載平臺對應的mysql-5.5.19版本至本地,這里是32位平臺,因此,選擇的為mysql-5.5.19-linux2.6-i686.tar.gz,這個是綠色版的。 # tar xf mysql-5.5.19-linux2.6-i686.tar.gz -C /usr/local # cd /usr/local/ # ln -sv mysql-5.5.19-linux2.6-i686 ?mysql # cd mysql? # chown -R mysql:mysql ?. 初始化數據庫: # scripts/mysql_install_db --user=mysql --datadir=/mydata/data --user= 指定運行mysql數據庫的用戶 --datadir= 指定數據庫數據的存放位置 # chown -R root ?. 4、為mysql提供主配置文件: # cd /usr/local/mysql # cp support-files/my-large.cnf ?/etc/my.cnf #vim /etc/my.cnf 修改此文件中thread_concurrency的值為你的CPU個數乘以2,比如這里使用如下行: thread_concurrency = 2 另外還需要添加如下行指定mysql數據文件的存放位置: datadir = /mydata/data 5、為mysql提供sysv服務腳本: # cd /usr/local/mysql # cp support-files/mysql.server ?/etc/rc.d/init.d/mysqld 添加至服務列表: # chkconfig --add mysqld # chkconfig mysqld on 接下來我們就可以執行service相關命令了 開啟mysqld服務: #service mysqld start? 為了使用mysql的安裝符合Linux系統使用規范,并將其開發組件導出給系統使用,這里還需要進行如下步驟: 6、輸出mysql的man手冊至man命令的查找路徑: #vim /etc/man.config 添加如下行即可: MANPATH ?/usr/local/mysql/man 7、輸出mysql的頭文件至系統頭文件路徑/usr/include: 這可以通過簡單的創建鏈接實現: # ln -sv /usr/local/mysql/include ?/usr/include/mysql 8、輸出mysql的庫文件給系統庫查找路徑: # echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf 而后讓系統重新載入系統庫: # ldconfig 9、修改PATH環境變量,讓系統所有用戶可以直接使用mysql的相關命令: vim /etc/profile PATH=$PATH:/usr/local/mysql/bin ?(重新登錄系統即可生效) 三、編譯安裝php-5.3.10 1、解決依賴關系: # yum -y groupinstall "X Software Development"? 如果想讓編譯的php支持mcrypt擴展,需要下載如下兩個rpm包并安裝之: libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm #rpm -ivh libmcrypt-2.5.7-5.el5.i386.rpm # rpm -ivh libmcrypt-devel-2.5.7-5.el5.i386.rpm 2、編譯安裝php-5.3.10 首先下載源碼包至本地目錄,然后編譯安裝: # tar xf php-5.3.10.tar.bz2 # cd php-5.3.10 # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml ?--with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-mysql= 指定mysql的路徑,php有時要調用mysql中的數據 --with-openssl 支持ssl功能 --with-mysqli=/usr/local/mysql/bin/mysql_config 指定mysqli這個接口的;路徑 --enable-mbstring 支持多字節串 --with-freetype-dir 要啟用freetype的功能,是一個繪圖庫 --with-jpeg-dir 啟用jpeg功能,也是一個繪圖庫 --with-png-dir 啟用png功能,也是一個繪圖庫 --with-zlib 啟用zlib功能,是一個壓縮庫 --with-libxml-dir= 指定擴展標記語言的庫文件的位置 --enable-xml 啟用xml功能 --with-apxs2= 使用指定的這個命令,把php做成apache的一個模塊,這個很重要 --with-mcrypt ?支持mcrypt擴展 說明:如果前面第1步解決依賴關系時沒有安裝mcrypt相關的兩個rpm包,此./configure命令還不用帶--with-mcrypt # make # make test # make intall 為php提供配置文件: # cp php.ini-production /usr/local/php/lib/php.ini 3、 編輯apache配置文件httpd.conf,以使apache支持php # vim /etc/httpd/httpd.conf 1、添加如下二行 AddType application/x-httpd-php ?.php AddType application/x-httpd-php-source ?.phps 2、定位至DirectoryIndex index.html? 修改為: DirectoryIndex ?index.php ?index.html 而后重新啟動httpd,或讓其重新載入配置文件即可測試php是否已經可以正常使用。 #service httpd restart #vim /usr/local/apache/htdocs/index.php 添加如下行: <?php phpinfo(); ?> 如果顯示“PHP Version 5.3.10”的很多信息,則配置正常。如圖所示: apache放網頁的位置是:/usr/local/apache/htdocs ,主配置文件是:/etc/httpd/httpd.conf 四,安裝phpMyAdmin-3.2.5,以便于我們以圖形化的方式管理mysql: 加入我們想讓以http://web_ip/padm的方式訪問數據庫,則: #mkdir /usr/local/apache/htdocs/padm #tax xf phpMyAdmin-3.2.5-all-languages.tar.gz #mv phpMyAdmin-3.2.5-all-languages/* /usr/local/apache/htdocs/padm #cd /usr/local/apache/htdocs/padm #cp config.sample.inc.php config.inc.php #vim config.inc.php 更改$cfg的行,加一段亂碼: $cfg['blowfish_secret'] = 'ajdfjflkdjfdf;l'; 由于phpMyAdmin不支持用戶以空密碼的身份登錄,故我們可以為mysql的root用戶設定一個密碼: # mysqladmin -uroot -p password '123456' Enter password: ? 這里是讓我們輸入老密碼,如果沒有設的話直接回車就好了 通過http://web_ip/padm就可以訪問了 五,建站工具wordpress的安裝: 首先,以root用戶的身份登錄數據庫,創建wordpress所使用的數據庫及用戶: #mysql -uroot -p 創建數據庫 mysql> CREATE DATABASE wordpress;? 建立用戶,并設定其密碼為lee mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost IDENTIFIED BY 'lee'; 使賬號立即生效 mysql> FLUSH PRIVILEGES;? 退出數據庫: mysql> \q 如果我們想以http://web_ip/wordpress來訪問我們的站點,則: #cp wordpress-3.2.1-zh_CN.zip /usr/local/apache/htdocs #cd /usr/local/apache/htdocs/ #unzip wordpress-3.2.1-zh_CN.zip ? #cd wordpress #cp wp-config-sample.php wp-config.php #vim wp-config.php 修改 define('DB_NAME', 'wordpress'); define('DB_USER', 'wpuser'); define('DB_PASSWORD', 'lee'); define('DB_HOST', 'localhost'); 指定數據庫所在的主機 配置我們的wordpress站點: http://www.magedu.com/wordpress 配置完成之后,用這個url就可以訪問我們的站點了,并登錄進行相應的管理?本文轉自 leejia1989 51CTO博客,原文鏈接:http://blog.51cto.com/leejia/810860,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的LAMP源码编译安装配置+wordpress的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实战mariadb-galera集群架构
- 下一篇: Android的Style的使用