LAMP之编译安装搭建
1、lamp简介:LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。
2、搭建环境:
系统:centos6.5-x86_64
iptables关闭、selinux关闭、自带httpd服务关闭;
程序:
mysql-5.5.33-linux2.6-x86_64.tar
php-5.4.19.tar
httpd-2.4.6.tar
安装顺序:
mysql二进制安装
httpd编译安装
php编译安装
依赖程序:
apr-1.4.6.tar
apr-util-1.5.2.tar :httpd在编译安装时,需要借助这两个环境;
phpMyAdmin-4.0.5-all-languages :web方式管理mysql;
xcache-3.0.3.tar :php加速器;
编译过程中,可能因为系统原因,需要额外安装编译环境,根据配置过程中报错信息直接yum安装即可;
3、安装:
1、二进制方式安装mysql:
# date 032811292015.50
2015年 03月 28日 星期六 11:29:50 CST :调整主机时间到当前;
# groupadd -r mysql
# useradd -g mysql -r -s /sbin/nologin mysql
# id mysql
uid=496(mysql) gid=493(mysql) 组=493(mysql)
# :创建mysql系统用户;
# tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz
# mv mysql-5.5.33-linux2.6-x86_64 /usr/local/
# cd /usr/local/
# ln -sv mysql-5.5.33-linux2.6-x86_64 mysql
"mysql" -> "mysql-5.5.33-linux2.6-x86_64" :解压后,创建链接文件到mysql;
# mkdir -pv /data/mydata
mkdir: 已创建目录 "/data"
mkdir: 已创建目录 "/data/mydata"
# cd /data
# chown -R mysql:mysql mydata/
# :为mysql创建数据库目录。生产环境中,数据库目录应该放到逻辑卷中,方便磁盘容量扩容。注意权限;
# cd /usr/local/mysql
# scripts/mysql_install_db --datadir=/data/mydata/ --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
# ll /data/mydata/
总用量 12
drwx------ 2 mysql root4096 3月28 11:41 mysql
drwx------ 2 mysql mysql 4096 3月28 11:41 performance_schema
drwx------ 2 mysql root4096 3月28 11:41 test
# :初始化数据库,指定数据库目录和操作者;
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on
# cp support-files/my-large.cnf /etc/my.cnf
# vim /etc/my.cnf
thread_concurrency = 2
datadir = /data/mydata :为mysql提供服务脚本和主配置文件。并更改这两项,关键是数据库目录的路径;
# service mysqld start
Starting MySQL.... [确定]
# service mysqld status
MySQL running (2277) [确定]
#
# ss -tnl | grep 3306
LISTEN 0 50 *:3306 *:*
#: 启动mysqld服务;
# mysql
mysql> use mysql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> select user,host,password from user; :查看mysql用户表。root没有密码;
+------+-----------------------+----------+
| user | host | password |
+------+-----------------------+----------+
| root | localhost | |
| root | localhost.localdomain | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | localhost.localdomain | |
+------+-----------------------+----------+
6 rows in set (0.00 sec)
mysql> drop user ''@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> drop user ''@'localhost.localdomain'; :删除有漏洞的两个用户记录;
Query OK, 0 rows affected (0.00 sec)
mysql> update user set password=password('password') where user='root'; :
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4Changed: 4Warnings: 0
mysql> flush privileges; :给root添加登录mysql时的密码;
mysql> select user,host,password from user;
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root | localhost.localdomain | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root | 127.0.0.1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root | ::1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+------+-----------------------+-------------------------------------------+
4 rows in set (0.00 sec)
# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# mysql -uroot -p -hlocalhost
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g. :再次以root登录发现不输入密码是不行的;
# ln -sv /usr/local/mysql/include/ /usr/include/mysql
"/usr/include/mysql" -> "/usr/local/mysql/include/"
# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
# vim /etc/man.config
MANPATH /usr/local/mysql/man
:导出头文件和库文件,以及man帮助;
ok!mysql安装完毕。
2、编译安装httpd
# yum -y install gcc pcre automake :yum安装gcc pcre编译环境;
# tar xf apr-1.4.6.tar.bz2
# cd apr-1.4.6
# ./configure --prefix=/usr/local/apr
# make && make install
# tar xf apr-util-1.5.2.tar.bz2
# cd apr-util-1.5.2
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install :编译安装apr和arp-util;
# yum -y install openssl-devel:安装httpd依赖的开发包;
# tar xf httpd-2.4.6.tar.bz2
# cd httpd-2.4.6
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-cgi --with-zlib --with-pcre --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
# make && make install :编译配置并安装;
# cp httpd httpd24
# vim httpd24
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
:copy 一个httpd服务脚本(系统自带httpd服务里有),并修改如上参数位置到httpd编译安装包的位置里;
# chkconfig --add httpd24
# chkconfig httpd24 on
# vim /etc/profile.d/httpd24.sh
export PATH=/usr/local/apache/bin:$PATH :配置服务启动级别和命令路径;
# vim /etc/httpd24/httpd.conf
PidFile "/var/run/httpd/httpd.pid" :编辑httpd24的配置文件,指定pid文件位置;
# service httpd24 start
# ss -tnl | grep 80
LISTEN 0 128 :::80 :::*
# service httpd24 status
httpd (pid17892) 正在运行...
# :启动httpd24服务;
# ln -sv /usr/local/apache/include/ /usr/include/httpd24
"/usr/include/httpd24" -> "/usr/local/apache/include/"
# vim /etc/ld.so.conf.d/httpd24.conf
/usr/local/apache/lib
# vim /etc/man.config
MANPATH /usr/local/apache/man :输出头文件、库文件和man帮助文件;
ok,httpd编译安装完成;
3、编译安装php:
yum -y groupinstall Desktop Platform Devellopment bzip2 bzip2-devel libxml2-devel libmcrypt-devel
:安装之前需要安装编译环境;
#rpm -ivh epel-release-6-8.noarch
#yum -y install php-mcrypt libmcrypt-devel:利用epel源去安装php-mcrypt扩展模块;
# wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
# tar xf libmcrypt-2.5.7.tar.gz
# cd libmcrypt-2.5.7
# ./configure --prefix=/usr/local/libmcrypt
# make && make install :编译安装libmcryp,php需要它;
# tar xf php-5.4.19.tar.bz2
# cd php-5.4.19
# ./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 --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
# make && make install:编译配置,并安装php(较慢..);
# cpphp.ini-production /etc/php.ini :为php提供一个ini文件;
# vim /etc/httpd24/httpd.conf
ADDType application/x-httpd-php .phpADDType application/x-httpd-php-source .phpsDirectoryIndexindex.php index.html :修改httpd24的主配置文件,添加ADDType,修改文档根目录,提供测试页面index.php;LoadModule php5_module modules/libphp5.so :查看这两个模块是否被php装载进来; # service httpd24 restart
# cd /usr/local/apache/htdocs/
# ls
index.html
# mv index.html index.php
# vim index.php :自定义一个关于php成功与否的测试页面;
<?php
$link = mysql_connect('127.0.0.1','root','password');
if ($link)
echo"Success!!!"
else
echo"Failure...."
mysql_close();
?>
# service mysqld restart
# service httpd24 restart :重启一下mysql和httpd服务;
测试一下,成功。说明lamp搭建成功!!!
4、简单优化:(测试LAMP环境)
安装phpMyAdmin,web管理mysql;
安装xcache为php加速;
1、安装phpMyAdmin:
# unzip phpMyAdmin-4.0.5-all-languages.zip
# cp -r phpMyAdmin-4.0.5-all-languages /usr/local/apache/htdocs/pma
http://172.16.1.105/pma :可以访问phpMyAdmin了。成功!!;
2、编译安装xcache:
# yum -y install m4 autoconf :安装编译环境;
# tar xf xcache-3.0.3.tar.bz2
# cd xcache-3.0.3
# /usr/local/php/bin/phpize :执行后会生成configure文件;
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install :编译安装配置;
# mkdir /etc/php.d
# cp xcache.ini /etc/php.d
# vim /etc/php.d/xcache.ini
extension = /usr/local/php/lib/extensions/no-debug-zts-20100525/xcache.so :修改此项;
# vim /usr/local/apache/htdocs/index.php
<?php
$link = mysql_connect('127.0.0.1','root','password');
if ($link)
echo "Success !!!";
else
echo "Failure ...";
mysql_close();
phpinfo(); :添加一个php测试函数;
?>
# service httpd24 restart
:ok,发现xcache被php所识别,说明xcache安装成功了!
结束!
页:
[1]