LAMP 编译环境搭建
yum -y install gcc
yum install gcc-c++
Apache 安装
安装 zlib
[root@localhost lamp]# tar -xf zlib-1.2.5.tar.gz
[root@localhost lamp]# cd zlib-1.2.5
[root@localhost zlib-1.2.5]# ./configure
[root@localhost zlib-1.2.5]# make && make install
提示:zlib是提供数据压缩用的函式库。
安装 apr
[root@localhost zlib-1.2.5]# cd ..
[root@localhost lamp]# tar -xf apr-1.5.2.tar.gz
[root@localhost lamp]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.5.2]# make
[root@localhost apr-1.5.2]# make install
安装 apr-iconv
[root@localhost apr-1.5.2]# cd ..
[root@localhost lamp]# tar -xf apr-iconv-1.2.1.tar.gz
[root@localhost lamp]# cd apr-iconv-1.2.1
[root@localhost apr-iconv-1.2.1]# ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr/
[root@localhost apr-iconv-1.2.1]# make && make install
安装 apr-util
[root@localhost apr-iconv-1.2.1]# cd ..
[root@localhost lamp]# tar -xf apr-util-1.5.4.tar.gz
[root@localhost lamp]# cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/ --with-apr-iconv=/usr/local/apr-iconv/bin/apr-iconv
[root@localhost apr-util-1.5.4]# make && make install
提示:APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库,Apache需要使用APR,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv。
安装 pcre
[root@localhost apr-util-1.5.4]# cd ..
[root@localhost lamp]# tar -xf pcre-8.35.tar.gz
[root@localhost lamp]# cd pcre-8.35
[root@localhost pcre-8.35]# ./configure --prefix=/usr/local/pcre && make && make install
注意:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。
安装 httpd
[root@localhost pcre-8.35]# cd ..
[root@localhost lamp]# tar xf httpd-2.4.17.tar.gz
[root@localhost lamp]# cd httpd-2.4.17
[root@localhost httpd-2.4.17]# ./configure --prefix=/usr/local/lamp/apache2 \
> --enable-modules=all \
> --enable-so \
> --with-apr=/usr/local/apr/ \
> --with-apr-util=/usr/local/apr-util/ \
> --with-pcre=/usr/local/pcre/
[root@localhost httpd-2.4.17]# make && make install
兄弟们,可以出去抽根烟,要等一会儿了。。。。。。
测试 Apache
ps -A | grep httpd
如果结果为空,表示没有启动,启动方式如下:
[root@localhost httpd-2.4.17]# /usr/local/lamp/apache2/bin/apachectl
如下情况:
解决方案:
修改为:
接下来:
1、停止 2、开始
在虚拟机访问:
在浏览器打开 http://192.168.1.121
在其它机器访问:
在浏览器打开 http://192.168.1.121
如果看到
表示成功了
如果不能看到,一般来说是防火墙禁止了,应该开启虚拟机的防火墙
防火墙配置
[root@localhost httpd-2.4.17]# setup
然后重启防火墙?
应该怎么重新启动?
安装 PHP
安装 xml
[root@localhost httpd-2.4.17]# cd ..
[root@localhost lamp]# tar xf libxml2-2.7.2.tar.gz
[root@localhost lamp]# cd libxml2-2.7.2
[root@localhost libxml2-2.7.2]# ./configure
[root@localhost libxml2-2.7.2]# make && make install
提示:XML库是一种支持对XML(标准通用标记语言下的一个应用)格式文档进行存储和查询等操作的数据管理系统。在系统中,开发人员可以对数据库中的XML文档进行查询、导出和指定格式的序列化。
安装 jpeg
[root@localhost libxml2-2.7.2]# cd ..
[root@localhost jpeg-8b]# tar xf jpegsrc.v8b.tar.gz
[root@localhost jpeg-8b]# cd jpeg-8b/
[root@localhost jpeg-8b]# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
[root@localhost jpeg-8b]# make && make install
安装 png
[root@localhost jpeg-8b]# cd ..
[root@localhost lamp]# tar xf libpng-1.4.3.tar.gz
[root@localhost lamp]# cd libpng-1.4.3
[root@localhost libpng-1.4.3]# ./configure --prefix=/usr/local/png --enable-shared --enable-static
[root@localhost libpng-1.4.3]# make && make install
安装 freetype 字体库
[root@localhost libpng-1.4.3]# cd ..
[root@localhost lamp]# tar xf freetype-2.4.1.tar.gz
[root@localhost lamp]# cd freetype-2.4.1
[root@localhost freetype-2.4.1]# ./configure --prefix=/usr/local/freetype --enable-shared
[root@localhost freetype-2.4.1]# make && make install
安装 gd
[root@localhost freetype-2.4.1]# cd ..
[root@localhost lamp]# tar xf libgd-2.1.1.tar.gz
[root@localhost lamp]# cd libgd-2.1.1
[root@localhost libgd-2.1.1]# ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg/ --with-png=/usr/local/png --with-zlib --with-freetype=/usr/local/freetype
[root@localhost libgd-2.1.1]# make && make install
提示:GD库,是php处理图形的扩展库。
依赖关系解决:
安装 bison
[root@localhost gd-2.0.35]# rpm -ivh /mnt/cdrom/Packages/bison-2.4.1-5.el6.i686.rpm
阿里云需要下载
安装 libmcrypt
[root@localhost gd-2.0.35]# cd ..
[root@localhost lamp]# tar xf libmcrypt-2.5.7.tar.gz
[root@localhost lamp]# cd libmcrypt-2.5.7
[root@localhost libmcrypt-2.5.7]# ./configure --disable-posix-threads
[root@localhost libmcrypt-2.5.7]# make && make install
安装 mcrypt
[root@localhost libmcrypt-2.5.7]# cd ..
[root@localhost lamp]# tar xf mcrypt-2.6.8.tar.gz
[root@localhost lamp]# cd mcrypt-2.6.8
[root@localhost mcrypt-2.6.8]# ./configure --with-libmcrypt-prefix=/usr/local
如果出现下面的错误:
就需要执行下面的命令
find / -name libmcrypt
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
再重新执行
[root@localhost mcrypt-2.6.8]# ./configure --with-libmcrypt-prefix=/usr/local
如果出现以下问题:
需要执行:
[root@localhost mcrypt-2.6.8]# cd ../
[root@localhost lamp]# tar xf mhash-0.9.9.9.tar.gz
[root@localhost lamp]# cd mhash-0.9.9.9
[root@localhost mhash-0.9.9.9]# ./configure && make && make install
[root@localhost mhash-0.9.9.9]# cd ../mcrypt-2.6.8
[root@localhost mcrypt-2.6.8]# ./configure --with-libmcrypt-prefix=/usr/local
[root@localhost mcrypt-2.6.8]# make && make install
安装 autoconf
[root@localhost mcrypt-2.6.8]# cd ..
[root@localhost lamp]# tar xf autoconf-2.69.tar.gz
[root@localhost lamp]# cd autoconf-2.69
[root@localhost autoconf-2.69]# ./configure && make && make install
安装 libiconv
[root@localhost autoconf-2.69]# cd ..
[root@localhost lamp]# tar xf libiconv-1.14.tar.gz
c[root@localhost lamp]# cd libiconv-1.14
[root@localhost libiconv-1.14]# ./configure --prefix=/usr/local/libiconv && make && make install
安装libXpm-devel
阿里云这里安不走时可更新yum源<阿里云服务器配置第2.5步>
[root@localhost lamp]# yum install libXpm-devel
[root@localhost lamp]# rpm -ql libXpm-devel
安装 php---------------------------------------
[root@localhost libiconv-1.14]# cd ..
[root@localhost lamp]# tar xvf php-5.6.24.tar.gz
[root@localhost lamp]# cd php-5.6.24
[root@localhost php-5.6.24]# ./configure --prefix=/usr/local/lamp/php \
> --with-apxs2=/usr/local/lamp/apache2/bin/apxs \
> --with-mysql=mysqlnd \
> --with-pdo-mysql=mysqlnd \
> --with-mysqli=mysqlnd \
> --with-freetype-dir=/usr/local/freetype \
> --with-gd=/usr/local/gd/ \
> --with-zlib \
> --with-jpeg-dir=/usr/local/jpeg \
> --with-png-dir=/usr/local/png \
> --enable-mbstring=all \
> --enable-mbregex \
> --enable-shared \
> --with-mcrypt=/usr/local/libmcrypt/ \
> --with-iconv=/usr/local/libiconv \
> --with-libxml-dir=/usr/local \
> --with-xpm-dir=/usr/lib
[root@localhost php-5.6.24]# make && make install
不开心、不开心、等了这么久。。。。。。
拷贝PHP配置文件
[root@localhost php-5.6.24]# cp php.ini-development /usr/local/lamp/php/lib/php.ini
让 Apache 支持 php
[root@localhost php-5.6.24]# vim /usr/local/lamp/apache2/conf/httpd.conf
AddHandler application/x-httpd-php .php
重启
[root@localhost php-5.6.24]# killall httpd
[root@localhost php-5.6.24]# /usr/local/lamp/apache2/bin/apachectl
测试
安装 MySQL
安装依赖
安装 ncurses-devel
[root@localhost php-5.6.24]# rpm -ivh /mnt/cdrom/Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm
阿里云服务器没有挂载cd光驱,用yum install ncurses-devel
安装 cmake
[root@localhost mysql-5.6.25]# rpm -ivh /mnt/cdrom/Packages/cmake-2.6.4-5.el6.i686.rpm
阿里云服务器没有挂载cd光驱,用yum install cmake
安装 MySQL
[root@localhost php-5.6.24]# cd ..
[root@localhost lamp]# tar xvf mysql-5.6.25.tar.gz
[root@localhost lamp]# cd mysql-5.6.25
[root@localhost mysql-5.6.25]# cmake - \ DCMAKE_INSTALL_PREFIX=/usr/local/lamp/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/lamp/mysql/data -DMYSQL_USER=mysql
[root@localhost mysql-5.6.25]# make && make install
客官、不要着急哦。。。。。。这么久。。。。。。。这应该是最漫长的等待了。。。。。。滚犊子。。。。。。
添加用户
用户无需登录系统,所以指定用户登陆后使用的 shell 是 nologin,禁止登录,-r 表示系统账号,系统账号 uid 较小
[root@localhost mysql-5.6.25]# useradd -s /sbin/nologin -r mysql
修改目录权限,将 data 文件夹所有者改为 mysql
data 文件夹用来存放数据,必须保证 mysql 用户可以写操作,由于整个安装过程都是 root 用户执行,所以其它文件夹都是输入root 用户
[root@localhost mysql-5.6.25]# chown mysql.mysql /usr/local/lamp/mysql/data -R
复制配置文件
[root@localhost mysql-5.6.25]# cp support-files/my-default.cnf /etc/my.cnf
创建 mysql 测试数据库和系统数据库
[root@localhost mysql-5.6.25]# cd /usr/local/lamp/mysql
[root@localhost mysql]# /usr/local/lamp/mysql/scripts/mysql_install_db --user=mysql --datadir=/usr/local/lamp/mysql/data
测试
[root@localhost mysql]# /usr/local/lamp/mysql/bin/mysqld_safe
Ctrl+z手动退出(跑完不动)
上面这一行是启动MySQL服务进程的。
[root@localhost mysql]# /usr/local/lamp/mysql/bin/mysql -uroot
上面这一行是登陆mysql的。
mysql> show databases;
修改密码,增加安全性
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
创建允许远程登录的用户
mysql> CREATE USER 'linlin'@'%' IDENTIFIED BY 'linlong6708';
mysql> select password(' LINLONG6708');
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*8511278FAC75C80CBF6DB5E90C1E9F41B3C5F21C';
在防火墙中允许外部机器访问 3306 端口
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
service iptables restart
xshell登录mysql:
/usr/local/lamp/mysql/bin/mysql -uroot -pLINLONG6708
或cd /usr/local/lamp/mysql/bin/
./mysql -uroot -pLINLONG6708
允许root用户远程登录mysql:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'LINLONG6708' WITH GRANT OPTION;
重启防火墙
service 管理
便于通过 service 管理复制启动文件
Apache
由于 gnome 需要 Apache,所以无法直接拆卸,使用删除启动文件的方式废弃默认的 Apache 服务器
[root@localhost lamp]# rm -rf /etc/init.d/httpd
[root@localhost lamp]# cp /usr/local/lamp/apache2/bin/apachectl /etc/init.d/httpd
MySQL
[root@localhost mysql]# cp /usr/local/lamp/mysql/support-files/mysql.server /etc/init.d/mysqld # 复制启动文件
[root@localhost mysql]# chmod +x /etc/init.d/mysqld #添加可执行权限
做了上面的步骤就可以使用 service mysqld 来控制 mysql 服务器了
比如:service mysqld start 可以启动 mysql 服务器