DayDayUP_Linux運維學習_LAMP的安裝

注意: 系統版本: centos6.5 32 位
httpd-2.4.16
mysql-5.6.27
php-5.6.14

1 準備工作

1.1下載mysql

1.1.1源碼版(通用)

# wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27.tar.gz

1.1.2二進制版(通用)

# wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-i686.tar.gz

1.1.3 其他版本

http://dev.mysql.com/downloads/  //自行下載相應的安裝包

1.2 下載appache httpd

# wget http://www.carfab.com/apachesoftware//httpd/httpd-2.4.16.tar.gz

1.3 下載php

# wget http://cn2.php.net/distributions/php-5.6.14.tar.gz

2 安裝mysql(源碼安裝)

2.1新建用戶與目錄

# groupadd mysql
# useradd -r -g mysql mysql   //-r參數表明創建的是系統用戶,不會創建家目錄
# mkdir -p /usr/local/mysql
# mkdir -p /data/mysql
# chown -R mysql:mysql /data/mysql
# chown -R mysql:mysql /usr/local/mysql

或者

# useradd -s /sbin/nologin -M mysql // -s 不允許登陸,-M不創建家目錄
# chown -R mysql:mysql  //mysql到mysql組中去

2.2安裝與配置

注:從mysql5.5後以cmake取代了configure

2.2.1安裝cmake

下載地址:http://www.cmake.org/

    tar zxvf cmake-2.8.4.tar.gz
    cd cmake-2.8.4
    ./configure
    make
    make install

或者

# yum -y install cmake  //適用於 centos redhat系統

cmake 參數

-DCMAKE_INSTALL_PREFIX= 指向mysql安裝目錄
-DINSTALL_SBINDIR=sbin 指向可執行文件目錄(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql數據文件目錄(/var/lib/mysql)
-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目錄(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目錄(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文檔目錄(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安裝目錄(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向對象代碼庫目錄(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql 指向頭文件目錄(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文檔存放目錄(prefix/share/info)


cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/db/mysql/data\

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306

詳情請參考:
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
http://waynerqiu.com/7/153.html

2.3編譯安裝

# tar -zxvf mysql-5.6.22.tar.gz
# cd mysql-5.6.22/
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

如果報錯,需安裝相應的庫,使用yum安裝,重新cmake需執行rm -f CMakeCache.txt
如:
– Could NOT find OpenSSL (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)
– Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:118 (FIND_CURSES)
cmake/readline.cmake:214 (MYSQL_USE_BUNDLED_READLINE)
CMakeLists.txt:257 (MYSQL_CHECK_READLINE)

– Configuring incomplete, errors occurred!

則執行

rm -f CMakeCache.txt
yum -y install ncurses-devel


the C compiler identification is unknown
the CXX compiler identification is unknown
-- Could NOT find Threads (missing: Threads_FOUND)
-- Could NOT find Threads (missing: Threads_FOUND)

# yum -y install gcc
# yum -y install gcc-c++
# yum install -y ncurses-devel
# yum -y install bison

或者執行:

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

繼續安裝

# rm -f CMakeCache.txt 
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
# make 
# make install 

2.4配置

# cd /usr/local/mysql
# cp support-files/my-default.cnf /etc/my.cnf 
# cp support-files/mysql.server /etc/init.d/mysqld
# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql
# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

2.5啓動mysql服務

# /etc/init.d/mysqld start

2.5.1查看是否啓動正常

# ps aux |grep mysql //查看是否有mysql進程
# netstat -lnp |grep 3306 //查看是否監聽mysql的3306端口

2.5.2添加mysql路徑

# vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin/
# source /etc/profile
# mysql 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.27 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

如果報錯

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

執行

# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 

2.6讓chkconfig管理mysql服務

# chkconfig --add mysqld
# chkconfig mysqld on //設置自啓動,可選
# service mysql start|restart|stop

2.7root添加密碼


# mysqladmin -uroot password

再次登錄

#mysql -hlocalhost -uroot -p

2.8設置遠程登錄

-------- Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.27 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 

安裝appache

3.1 準備

# mkdir -p /usr/local/apache
# tar -xvf httpd-2.4.16.tar.gz
# cd httpd-2.4.16

3.2 安裝

./configure --prefix=/usr/local/apache --with-include-apr --with-pcre --enable-shared=most 

configure: error: APR not found. Please read the documentation.

# wget http://mirror.bit.edu.cn/apache/apr/apr-1.5.2.tar.gz
# tar -xzvf apr-1.5.2.tar.gz 
# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make install
# wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
# tar -xzvf apr-util-1.5.4.tar.gz
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install

繼續安裝

# ./configure --prefix=/usr/local/apache --with-include-apr --with-pcre --enable-shared=most --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

# wget http://ftp.exim.llorien.org/pcre/pcre-8.36.tar.gz
# tar -xzvf pcre-8.36.tar.gz
# cd pcre-8.36
# ./configure --prefix=/usr/local/pcre
# make && make install

繼續編譯apache

# ./configure --prefix=/usr/local/apache --with-include-apr --with-pcre --enable-shared=most --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
# make
# make install

4 安裝php

4.1 編譯安裝

# tar -xzvf php-5.6.14.tar.gz 
# cd php-5.6.14
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6


configure: error: Cannot find OpenSSL's <evp.h>

# yum list |grep -i 
# yum -y install openssl-devel.i686

configure: error: Please reinstall the BZip2 distribution

# yum -y install bzip2-devel.i686

configure: error: jpeglib.h not found.

# yum list |grep -i jpeg
# yum -y install libjpeg-turbo-devel.i686 

configure: error: png.h not found.

# yum -y install libpng-devel.i686 

configure: error: freetype-config not found.

# yum -y install freetype-devel.i686

configure: error: mcrypt.h not found.

yum -y install libtomcrypt-devel.i686
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
# make 
# echo $?
0
# make install

# cp /usr/local/src/php-5.6.14/php.ini-production /usr/local/php/etc/php.ini //設置php的配置文件 php.ini-production 源碼目錄拷貝到安裝目錄

大功告成

5 查看成果

5.1 php是否添加到了Apache

# vim /usr/local/apache/conf/httpd.conf
LoadModule php5_module        modules/libphp5.so //可以看到有這一行
# ls /usr/local/apache/modules/ |grep php
libphp5.so

5.2查看動態庫使用了哪些工具和包

# ldd /usr/local/apache/modules/libphp5.so 
    linux-gate.so.1 =>  (0x0093e000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x00116000)
    librt.so.1 => /lib/librt.so.1 (0x00146000)
    libmysqlclient.so.18 => /usr/local/mysql/lib/libmysqlclient.so.18 (0x0014f000)
    libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0x004ea000)
    libltdl.so.7 => /usr/lib/libltdl.so.7 (0x0051c000)
    libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00526000)
    libz.so.1 => /lib/libz.so.1 (0x0054e000)
    libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x0072a000)
    libbz2.so.1 => /lib/libbz2.so.1 (0x00792000)
    libm.so.6 => /lib/libm.so.6 (0x008a1000)
    libdl.so.2 => /lib/libdl.so.2 (0x00562000)
    libnsl.so.1 => /lib/libnsl.so.1 (0x00567000)
    libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00582000)
    libssl.so.10 => /usr/lib/libssl.so.10 (0x007a3000)
    libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x067da000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0093f000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x006cd000)
    libc.so.6 => /lib/libc.so.6 (0x07ca8000)
    libfreebl3.so => /lib/libfreebl3.so (0x0080b000)
    /lib/ld-linux.so.2 (0x009f0000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x051c1000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x006e8000)
    libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x008cb000)
    libkrb5.so.3 => /lib/libkrb5.so.3 (0x027a8000)
    libcom_err.so.2 => /lib/libcom_err.so.2 (0x00706000)
    libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x0086b000)
    libresolv.so.2 => /lib/libresolv.so.2 (0x0070b000)
    libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x00781000)
    libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00725000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x0090b000)

# ldd /usr/local/php/bin/php  
    linux-gate.so.1 =>  (0x00ae6000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x0075c000)
    librt.so.1 => /lib/librt.so.1 (0x00bd3000)
    libmysqlclient.so.18 => /usr/local/mysql/lib/libmysqlclient.so.18 (0x001b1000)
    libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0x0092d000)
    libltdl.so.7 => /usr/lib/libltdl.so.7 (0x0694c000)
    libpng12.so.0 => /usr/lib/libpng12.so.0 (0x0054c000)
    libz.so.1 => /lib/libz.so.1 (0x00bde000)
    libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00574000)
    libbz2.so.1 => /lib/libbz2.so.1 (0x06cb8000)
    libm.so.6 => /lib/libm.so.6 (0x00bf4000)
    libdl.so.2 => /lib/libdl.so.2 (0x00bcc000)
    libnsl.so.1 => /lib/libnsl.so.1 (0x065d8000)
    libxml2.so.2 => /usr/lib/libxml2.so.2 (0x0648b000)
    libssl.so.10 => /usr/lib/libssl.so.10 (0x005cb000)
    libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x00d92000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00797000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00baf000)
    libc.so.6 => /lib/libc.so.6 (0x00f5a000)
    libresolv.so.2 => /lib/libresolv.so.2 (0x00d60000)
    libfreebl3.so => /lib/libfreebl3.so (0x006fa000)
    /lib/ld-linux.so.2 (0x009f0000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00830000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00964000)
    libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x00633000)
    libkrb5.so.3 => /lib/libkrb5.so.3 (0x00c1e000)
    libcom_err.so.2 => /lib/libcom_err.so.2 (0x00673000)
    libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x00678000)
    libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x006a3000)
    libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x006af000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x006b3000)

上訴兩個文件一模一樣

5.3 查看安裝時所用的選項

mysql 選項

# cat /usr/local/mysql/bin/mysqlbug 

apache 安裝選項

# cat /usr/local/apache/build/config.nice 

php的安裝信息

# /usr/local/php/bin/php -i  
查看php的信息,查看php的版本,系統版本,build的時間,編譯選項,configuration FILS(配置文件)

查看加載的模塊

# /usr/local/php/bin/php -m //php加載模塊
# /usr/local/apache/bin/apachectl -M || /usr/local/apache/bin/httpd -M  //apache加載模塊

5.4 測試

# /usr/local/apache/bin/apachectl start


AH00557: httpd: apr_sockaddr_info_get() failed for www
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

# cd/usr/local/apache
# vim conf/httpd.conf
找到:
#ServerName www.example.com:80
修改爲:
ServerName localhost:80
# /usr/local/apache/bin/apachectl -t //測試配置文件是否正常
Syntax OK
# /usr/local/apache/bin/apachectl start

# ps aux |grep httpd
# netstat -lnp |grep ':80 '

瀏覽器輸入ip即可訪問,如果無法訪問,請關閉防火牆

iptables -F

測試PHP

# vim conf/httpd.conf
找到
 AddType application/x-compress .Z
 AddType application/x-gzip .gz .tgz
下面加入下面這一行
 AddType application/x-httpd-php .php
# /usr/local/apache/bin/apachectl -t
# /usr/local/apache/bin/apachectl graceful //重新加載配置文件

綜上
apache常用命令

# /usr/local/apache/bin/apachectl -t //#檢查配置文件基本語法
# /usr/local/apache/bin/apachectl -M //檢查加載的模塊
# /usr/local/apache/bin/apachectl -l // 查看編譯在apache中的一些mo dules,可看出運行模式
# /usr/local/apache/bin/apachectl start(啓動)|stop(停止)|restart(重啓)|graceful(重新加載配置文件)
發佈了45 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章