实验要求
#LAMP
#httpd-2.2.32
#mysql-5.7.17-linux-glibc2.5-x86_64 二进制压缩版
#php5.3.27
准备;
首先进入/usr/local/目录
#cd /usr/local
删除所有安装过的php mysql apache 以及libxml
首先查看目前 /usr/local目录下面的内容
#ls –l
如果看到php5 php apache2 apache mysql mysql5 libxml libxml2字样的目录都将其删除具体命令如下
#rm –rf php5 删除php5目录
#rm –rf libxml2 删除libxml2目录
进入home目录
#cd /home
删除已经解压缩的的安装程序
首先查看已经解压缩了那些程序
#ls –l
注意蓝色的字样的都为已经解压缩的目录
将其删除
如:
#rm –rf http-2.2.11
#rm –rf php-5.2.3
#rm –rfmysql-5.0.41-linux-i686
#rm –rf libxml2-2.6.30
删除完毕后,最好重新启动下linux操作系统
#reboot
概述
LAMP平台部署,lamp部署
1、构建PHP运行环境,实现LAMP协同架构,前提条件是服务器中已经编译好了Apache HTTP Server和MySQL数据库,(编译安装apache和编译安装mysql 请查看公众号L宝宝聊IT)
1、系统环境优化检查
sed -i 's/SELINUX=enabled/SELINUX=disabled/g' /etc/selinux/config
getenforce 0
/etc/init.d/iptables stop
cat /etc/redhat-release
CentOS release 6.7 (Final)
uname -r
2.6.32-431.el6.x86_64
uname -m
x86_64
1:安装apache2。
1. 进入/home目录(如果虚拟机的,先从别的地方拷到这个目录home/xxxx/下)
# cd /home
2. 对apache2安装文件包进行解压缩 解压httpd-2.2.11.tar.gz
#tar –zvxf httpd-2.2.11.tar.gz
解压完毕后,进入httpd-2.2.11目录
# cd httpd-2.2.11
3 . 在/usr/local/下面创建一个要安装过去的目录apache2
# mkdir –p /usr/local/apache2
4 .配置安装环境( 设置apache的安装路径)
# ./configure--prefix=/usr/local/apache2 --enable-modules=so–enable-rewrite
(--enable-dav 安装mod_dav模块);
5 .编译(make)和安装(make install)
# make; make install
编译安装完毕后启动apache2服务器
#/usr/local/apache2/bin/apachectl -k start
用浏览器查看 works,说明apache已经配置成功了。
系统启动时自动加载Apache:
1. 在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/httpd
2.cp/usr/local/apache/bin/ httpd /etc/rc.d/init.d/httpd
3.可以用servicehttpd start启动
正常启动: /usr/local/apache2/bin/httpdstart apaceh启动
/usr/local/apache2/bin/apachectlstop 停止
/usr/local/apache2/bin/apachectlrestart 重启
- apache以指定的用户运行;
安装的时候,apache自动以daemon用户运行。如果想以自定义用户如www-data运行:
$ useradd www-data
$ vi httpd.conf
修改其中的内容:
user daemon 改为 user www-data
group daemon 改为 group www-data
Lamp架构是目前成熟的网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态web站点服务及其应用开发环境。
LAMP平台的概述
LAMP环境脚本部署:
LAMP的介绍:百度百科
LAMP平台的构成组件:
- Linux操作系统
- Apache
- MySQL/mogodb
- PHP/Perl/Python
LAMP平台的优势:
- 成本低廉
- 可定制性
- 易于开发
- 方便易用
本文构成组件:Linux(CentOS6.5)、Apache、MySQL、PHP
2、安装配置apache
#apache官网#新建apache运行用户useradd -s /sbin/nologin -M www
mkdir tools
cd tools
#下载http代码包
wget
#附上aliyun下载地址
wget -c
wget -c
wget -c
#安装插件apr和apr-util
#编译安装apr
tar xf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr-1.5.2
make && make install
echo $?
ln -s /usr/local/apr-1.5.2/ /usr/local/apr
cd ..
#编译安装apr-util
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util-1.5.4
--with-apr=/usr/local/apr-1.5.2/
echo $?
make && make install
echo $?
ln -s /usr/local/apr-util-1.5.4/ /usr/local/apr-util
cd ..
#安装功能包
yum install pcre-devel zlib-devel openssl-devel -y
#安装apache
tar zxvf httpd-2.4.25.tar.gz
cd httpd-2.4.25
./configure --prefix=/usr/local/httpd-2.4.25
> --with-apr=/usr/local/apr-1.5.2
> --with-apr-util=/usr/local/apr-util-1.5.4
> --enable-so --enable-deflate --enable-expires
> --enable-headers --enable-ssl --enable-rewrite
> --enable-mpms-shared=all --with-mpm=prefork
> --enable-mods-shared=most
echo $?
#--prefix= apache安装目录。默认情况下,安装目录设置为
/usr/local/apache2。
#--sysconfdir= 指定配置文件安装路径
#--with-apr=
如果要使用已安装的APR,则必须告诉脚本configure的apr的安装路径
#--with-apr-util 指定已安装的apr-util的安装路径
#--enable-so 允许运行时加载DSO模块
#--enable-cgi 启用cgi协议
#--with-zlib 启用zlib库文件
#--with-pcre 指定pcre的安装路径
#--enable-modules=most 启用大多数共享模块
#--enable-deflate 压缩传输编码支持
#--enable-expires Expires头控制
#--enable-headers HTTP头控制
#--enable-ssl 启动ssl加密功能,SSL/TLS支持(mod_ssl)
#--enable-rewrite 基于规则的URL操作,启用URL重写功能
#--enable-mpms-shared=all 空间分隔的MPM模块列表启用,动态加载
#--with-mpm=prefork 指定使用的MPM的类型,
选择Apache使用的进程模型(event|worker|prefork|winnt)
#--enable-mods-shared=most 启用MPM大多数参数,
定义要启用并构建为动态共享模块的模块列表,默认设置为most(all|most|few|reallyall)
make
make install
ln -s /usr/local/httpd-2.4.25/ /usr/local/httpd
#配置http环境变量
echo "export PATH=/usr/local/httpd/bin:$PATH" >>/etc/profile
. /etc/profile
#查看http模块
ls /usr/local/httpd/modules
#查看安装的模块
apachectl -t -D DUMP_MODULES
#修改http配置文件
sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g'
/usr/local/httpd/conf/httpd.conf
#启动apache服务
apachectl start
#查看http服务
netstat -lntup|grep httpd
tcp 0 0 :::80 :::* LISTEN 56389/httpd
#配置启动脚本
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
chmod x /etc/init.d/httpd
/etc/init.d/httpd stop
netstat -lntup|grep httpd
/etc/init.d/httpd start
netstat -lntup|grep httpd
vim /etc/init.d/httpd
#在开始位置添加:
# chkconfig: 345 85 15
# description: this my apache is httpd server
#加入系统启动服务,开机自启动
chkconfig --add httpd
chkconfig httpd on
chkconfig --list httpd
#测试访问正常!到此apache安装完成!
#借鉴的别人的启动脚本
cat >>/etc/init.d/httpd<<EOF
#!/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
EOF
View Code
#查看编译的模块
/usr/local/apache/bin/apachectl -l
/usr/local/apache/bin/apachectl -M
#一键式安装apache
useradd -s /sbin/nologin -M www
mkdir ~/tools
cd ~/tools
/bin/ping baidu.com -c 2
[ $? -eq 0 ] && {
wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.25.tar.gz
wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
} || exit 110
tar xf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr-1.5.2
make && make install
echo $?
sleep 2
ln -s /usr/local/apr-1.5.2/ /usr/local/apr
cd ..
#编译安装apr-util
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2/
make && make install
echo $?
sleep 2
ln -s /usr/local/apr-util-1.5.4/ /usr/local/apr-util
cd ..
yum install pcre-devel zlib-devel openssl-devel -y
tar zxvf httpd-2.4.25.tar.gz
cd httpd-2.4.25
./configure --prefix=/usr/local/httpd-2.4.25
--with-apr=/usr/local/apr-1.5.2
--with-apr-util=/usr/local/apr-util-1.5.4
--enable-so --enable-deflate --enable-expires
--enable-headers --enable-ssl --enable-rewrite
--enable-mpms-shared=all --with-mpm=prefork
--enable-mods-shared=most
echo $?
sleep 2
make
make install
ln -s /usr/local/httpd-2.4.25/ /usr/local/httpd
echo "export PATH=/usr/local/httpd/bin:$PATH" >>/etc/profile
. /etc/profile
sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/httpd/conf/httpd.conf
apachectl start
netstat -lntup|grep 80 >/dev/null && echo OK!
View Code
2:安装mysql
组成:Linux 、Apache、MySQL、php/perl/pytho
编译安装Apache(httpd)服务
Apache介绍:百度百科
Apache的特点:开放源代码、跨平台应用、支持各种Web编程语言、模块化设计、运行非常稳定、良好的安全性
Apache源码包下载地址:
安装步骤:
1.检测服务器是否存在RPM方式安装的httpd服务(防止端口冲突)
rpm -e httpd --nodeps
2.编译安装httpd源码包
tar zxvf httpd-2.2.17.tar.gz -C /usr/src/ #解包
cd /usr/src/httpd-2.2.17/
./configure --prefix=/usr/local/httpd/ --enable-so --enable-rewrite --enable-charset-lite --enable-cig #配置
make && make install #编译及安装
配置参数含义:
- --prefix:指定将httpd服务程序安装到那个目录下,如/usr/local/httpd;
- --enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力;
- --enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护;
- --enable-charset-lite:启动字符集支持,以便支持使用各种字符编码的网页;
- --enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力;
httpd服务的主要目录结构:
- 服务目录:/usr/local/httpd/
- 主配置文件:/usr/local/httpd/conf/httpd.conf
- 网页目录:/usr/local/httpd/htdocs/
- 服务脚本:/usr/local/httpd/bin/apachectl
- 执行程序:/usr/local/httpd/bin/httpd
- 访问日志: /usr/local/httpd/log/access_log
- 错误日志: /usr/local/httpd/log/error_log
3.优化执行路径
ln -s /usr/local/httpd/bin/* /usr/local/bin
4.添加httpd到系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
cd /etc/init.d/
chmod x httpd
vim /etc/init.d/httpd #在配置文件中添加
1
#!/bin/sh 2 #chkconfig:2345 81 25
//服务识别参数,在运行级别2345中启动,启动和关闭的顺序为81,25 3
#description:This is Apache Server //服务描述信息 4 #省略内容......
修改httpd文件 chkconfig --add
httpd #将httpd添加为系统服务
chkconfig httpd on #查看httpd服务的自启动状态
常用的全局配置参数(httpd.conf)
1 ServerRoot:服务目录
2 ServerAdmin:管理员邮箱
3 User:运行服务的用户身份
4 Group:运行服务的组身份
5 ServerName:网站服务器的域名
6 DocumentRoot:网页文档的根目录
7 Listen:监听的IP地址、端口号
8 PidFile:保存httpd进程PID号的文件
9 DirectoryIndex:默认的索引页文件
10 ErrorLog:错误日志文件的位置
11 CustomLog:访问日志文件的位置
12 LogLevel:记录日志的级别,默认为warn
13 Timeout:网络连接超时,默认为300秒
14 KeepAlive:是否保持连接,可选On或Off
15 MaxKeepAliveRequests:每次连接最多请求文件数
16 KeepAliveTimeout:保持连接状态时的超时时间
17 Include:需要包含进来的其他配置文件
区域配置项目
<Directory /> //定义"/"目录区域的开始
Options FollowSymLinks //控制选项,允许使用符号链接
AllowOverride None //不允许隐含控制文件中的覆盖配置
Order deny,allow //访问控制策略的应用顺序
Deny from all //禁止任何人访问此区域
</Directory> //定义"/"目录区域的结束
部署AWStats网站访问统计分析系统:
虚拟主机配置:
站点访问限制:
2、编译安装php、安装加密工具
3、mysql安装与配置,此处是二进制安装
useradd -s /sbin/nologin -M mysql
wget
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql-5.7.17
ln -s /usr/local/mysql-5.7.17 /usr/local/mysql
#创建数据库文件目录
mkdir -p /data/mysql
chown -R mysql.mysql /data/
#配置启动脚本文件,并加入系统服务,自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
#配置mysql配置文件
cat > /etc/my.cnf << EOF
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql
pid-file = /data/mysql/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1
init-connect = 'SET NAMES utf8'
character-set-server = utf8
#skip-name-resolve
#skip-networking
back_log = 300
max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 8M
query_cache_limit = 2M
ft_min_word_len = 4
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30
log_error = /data/mysql/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
#lower_case_table_names = 1
skip-external-locking
default_storage_engine = InnoDB
#default-storage-engine = MyISAM
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
EOF
View Code
#初始化数据库:
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql
--basedir=/usr/local/mysql --datadir=/data/mysql
#配合环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
. /etc/profile
#启动MySQL服务
/etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
netstat -lntup|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 28150/mysqld
ps -ef |grep mysql
root 28284 1 2 07:26 pts/0 00:00:00 /bin/sh
/usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql
--pid-file=/data/mysql/mysql.pid
mysql 29119 28284 5 07:26 pts/0 00:00:00 /usr/local/mysql/bin/mysqld
--basedir=/usr/local/mysql --datadir=/data/mysql
--plugin-dir=/usr/local/mysql/lib/plugin --user=mysql
--log-error=/data/mysql/mysql-error.log --open-files-limit=65535
--pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306
#修改root密码
mysql -uroot -e "Set password=password(‘123.com’);"
mysql -uroot -p123.com -e "use mysql;update user set
authentication_string=password('456.com') where user='root';"
update mysql.user set authentication_string=password("123.com") where
user='root';
2.1 Mysql resource的安装
进入home目录
#cd /home
对mysql安装文件进行解压缩
# tar -zvxfmysql-5.0.41-linux-i686.tar.gz
进入mysql解压的源码文件目录:
#cd /home/hguisu/mysql-5.0.14
#设置mysql的安装路径:
./configure--prefix=/usr/local/mysql
编译,进行安装:
make && make install
优势:成本低廉、可定制、易于开发、方便易用、安全和稳定
编译安装MySQL服务
MySQL介绍:百度百科
MySQL源码包下载地址:
安装步骤:
1.准备工作
卸载RPM方式安装的mysql-server、mysql软件包(避免端口冲突、程序冲突)
rpm -e mysql-server mysql
使用rpm或者yum的方式安装ncurses-devel依赖包
rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
或者
yum -y install ncurses-devel
编译安装cmake包
tar zxvf cmake-2.8.6.tar.gz -C /usr/src/
cd /usr/src/cmake-2.8.6/
./configure && gmake && gmake install
创建运行用户
#删除系统原有的mysql账号
userdel mysql
创建新的mysql账号
useradd -M -s /sbin/nologin mysql
编译安装mysql包
tar zxvf mysql-5.5.22.tar.gz -C /usr/src/ #解包
cd /usr/src/mysql-5.5.22/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWHIT_CHARSETS=all #配置
make && make install #编译并安装
配置参数含义:
- -DCMAKE_INSTALL_PREFIX:指定将mysql数据库程序安装到某目录下,如/usr/local/mysql;
- -DSYSCONFDIR:指定初始化参数文件目录;
- -DDEFAULT_CHARSET:指定默认使用的字符集编码,如,utf8;
- -DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci 是适用于UTF-8字符集的通用规则;
- -DWHIT_CHARSETS=all:指定额外支持的其它字符串编码;
2.安装后的调整
对数据库目录进行调整
chown -R mysql:mysql /usr/local/mysql/
建立配置文件
rm -rf /etc/my.cnf //如果原来etc文件下下有my.cnf文件可以删除
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
优化执行路径
ln -s /usr/local/mysql/bin/* /usr/local/bin/
添加系统服务
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
初始化数据库管理员帐号root的密码
mysqladmin -u root password "123.com"
数据库的基本操作:
步骤:
4、php的安装与配置
#查看apache和MySQL启动是否正常
netstat -lntup|egrep '80|3306'
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 29119/mysqld
tcp 0 0 :::80 :::* LISTEN 26925/httpd
1)、扩展支持(mcrypt、mhash扩展和libevent)
如果想让编译的php支持mcrypt、mhash扩展和libevent,需要安装以下包
libmcrypt
libmcrypt-devel
mhash
mhash-devel
说明:
mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。
mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。
centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包
可以使用第三方源,这样还可以使用yum来安装
安装第三方yum源
wget
sh ./atomic
使用yum命令安装
yum install php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel
2)、libevent相关包
可以根据需要安装libevent,系统一般会自带libevent,但版本有些低。因此可以升级安装如下两个rpm包。
yum install libevent libevent-devel
说明:
libevent是一个异步事件通知库文件,其API提供了在某文件描述上发生某事件时或其超时时执行回调函数的机制
它主要用来替换事件驱动的网络服务器上的event loop机制。
目前来说,
libevent支持/dev/poll、kqueue、select、poll、epoll及Solaris的event
ports。
3)、支持xml的相关包
支持xml的rpm包
bzip2 是一个基于Burrows-Wheeler
变换的无损压缩软件能够高效的完成文件数据的压缩
libcurl主要功能就是用不同的协议连接和沟通不同的服务器,也就是相当封装了的sockPHP
libcurl允许你用不同的协议连接和沟通不同的服务器
yum install libxml2 libxml2-devel bzip2-devel libcurl-devel
4)、图形相关的rpm包
通常对应的错误提示:JIS-mapped Japanese font support in GD
yum install libjpeg-devel libpng-devel freetype-devel
#开始yum安装安装插件包,可复制批量安装
wget
sh ./atomic
yum -y install zlib libxml libjpeg freetype libpng gd curl libiconv
zlib-devel gd-devel curl-devel openssl-devel libxslt-devel* php-mcrypt
libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel
libxml2 libxml2-devel bzip2-devel libcurl-devel libjpeg-devel
libpng-devel freetype-devel
首先下载源码包至本地目录,下载位置
wget
tar zxvf php-5.6.30.tar.gz
cd php-5.6.30
./configure
--prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc
--with-apxs2=/usr/local/httpd/bin/apxs
--enable-inline-optimization
--enable-fpm
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-pdo-mysql=/usr/local/mysql
--with-gettext
--enable-mbstring
--with-iconv=/usr/local/libiconv
--with-mcrypt
--with-mhash
--with-openssl
--enable-bcmath
--enable-soap
--with-libxml-dir
--enable-sockets
--with-curl
--with-zlib
--enable-zip
--with-bz2
--with-gd
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
###有关编译配置项的详细描述:
echo $?
make
make install
cp php.ini-production /usr/local/php/etc/php.ini
#检查apache和PHP整合
grep modules/libphp5.so /usr/local/httpd/conf/httpd.conf
修改apache配置文件:
vim /usr/local/httpd/conf/httpd.conf
ServerName 127.0.0.1:80
#增加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#修改用户:
User www
Group www
#修改主页文件:
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
/usr/local/httpd/bin/apachectl -t
Syntax OK
vim /usr/local/apache/htdocs/index.php
<?php
phpinfo();
?>
#重新加载apache配置文件
/usr/local/apache/bin/apachectl graceful
测试访问正常!
#编写测试代码,测试数据库链接是否正常
vim /usr/local/apache/htdocs/mysql-test.php
<?php
//$link_id=mysql_connect('主机名','用户','密码');
$link_id=mysql_connect('localhost','root','123.com') or
mysql_error();
if($link_id){
echo "mysql is ok!n";
}else{
echo "mysql_error()";
}
?>
#到此LAMP安装完成!
2.2 Mysql binary的安装
进入home目录
#cd /home
对mysql安装文件进行解压缩
# tar -zvxf mysql-5.0.41-linux-i686.tar.g
#移动解压缩的内容到要安装的目录
#mv mysql-5.0.41-linux-i686 /usr/local/mysql)
(cp /home/hguisu/mysql-5.0.41-linux-i68/* /usr/local/src/mysql
添加mysql用户及用户组
# groupadd mysql --应该已经存在了
#useradd –d/usr/local/mysql/data –s /sbin/nologin –g mysql mysql --应该已经存在了
进入/usr/local/mysql目录中
#cd /usr/local/mysql
修改mysql目录权限
# chown -R root/usr/local/mysql
# chown -R mysql/usr/local/mysql/data
# chgrp -R mysql/usr/local/mysql
生成mysql系统数据库
# ./scripts/mysql_install_db –user=mysql --basedir=/usr/local/mysql
(basedir是mysql的安装目录)
由这个basedir参数指定二进制数据位置!
启动mysql服务
#/usr/local/mysql/bin/mysqld_safe --user=mysql &
如出现 Starting mysqld daemon with databases from /usr/local/mysql/data
代表正常启动mysql服务了, 按Ctrl C 跳出
设置自动启动
#cp./support-files/mysql.server /etc/rc.d/init.d/mysqld
若提示覆盖则按y
修改权限
#chmod 700/etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
测试mysql的安装
#/usr/local/mysql/bin/mysqladminping
#/usr/local/mysql/bin/mysqladminversion
#/usr/local/mysql/bin/mysql
进入mysql:cd /usr/local/mysql/bin ./mysql执行,ctrl c退出
8、为根用户创建密码
用SET PASSWORD命令
#/usr/local/mysql/bin/mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
用mysqladmin
./mysqladmin -u root password "newpass"
如果root已经设置过密码,采用如下方法
./mysqladmin -u root password oldpass "newpass"
用UPDATE直接编辑user表
./mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password =PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
./mysqld_safe --skip-grant-tables&
./mysql -u root mysql
mysql> UPDATE user SETpassword=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
我只测试了前2种,第三种不知道怎么样
错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
解决方法:
由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错
[root@localhost ~]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
1.直接指定mysql通道
[root@localhost ~]# mysql --socket=/var/lib/mysql/mysql.sock
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 2 to server version: 5.0.22
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
- 创建符号连接:
为mysql.sock增加软连接(相当于windows中的快捷方式)。
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
eg:
root@localhost ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (2)
[root@localhost ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
[root@localhost ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 3 to server version: 5.0.22
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
我觉得这两个方法挺好用的
构建PHP运行环境
PHP源码包下载地址:
安装步骤:
1.准备工作
卸载RPM方式安装的php、php-cli、php-ldap、php-common、php-mysql等软件包(避免程序冲突)
rpm -e php php-cli php-ldap php-common php-mysql --nodeps
使用rpm或者yum的方式安装 zlib-devel 和 libxml2-devel 依赖包
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
rpm -ivh libxml2-devel-2.7.6-14.el6.x86_64.rpm
或者
yum -y install zlib-devel
rpm -y install libxml2-devel
2.安装php加密扩展插件(libmcrypt、mhash、mcrypt)**顺序安装
安装libmcrypt程序
下载地址:
tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/
cd /usr/src/libmcrypt-2.5.8/
./configure && make && make install
ln -s /usr/local/lib/libmcrypt.* /usr/bin/
安装mhash程序
下载地址:
tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
cd /usr/src/mhash-0.9.9.9/
./configure
make && make install
ln -s /usr/local/lib/libmhash.* /usr/lib/
安装mcrypt程序
下载地址:
tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
cd /usr/src/mcrypt-2.6.8/
./configure
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure
make && make install
3.编译安装PHP
tar zxf php-5.3.28.tar.gz -C /usr/src/
cd /usr/src/php-5.3.28/
./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-sockets
make && make install
配置参数含义:
- --prefix:指定将PHP程序安装到那个目录下,如/usr/local/php5;
- --with-mcrypt:加载数据加密等扩展工具支持;
- --with-apxs2:设置Apache HTTP Server 提供的apxs模块支持程序的文件位置;
- --with-mysql:设置MySQL数据库服务程序的安装位置;
- --with-config-file-path:设置PHP的配置文件php.ini将要存放的位置;
- --enable-mbstring:启用多字符串功能,以便支持中文等代码;
- --enable-sockets:支持套接字;
4.php.ini文件的调整
cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.ini
vim /usr/local/php5/php.ini #在配置文件中修改
default_charset
= "utf-8" //设置默认字符集utf-8; file_uploads = On
//允许通过PHP网页上传文件; upload_max_filesize = 2M
//允许上传的文件大小限制; max_file_uploads = 20
//每个HTTP最多允许请求上传的文件数; post_max_size = 8M
//每次通过表单post提交的数据量限制; short_open_tag = on
//允许识别PHP短语法标记,<?...?>; 修改php.ini配置文件
5.添加ZendGuardLoader优化模块
ZendGuardLoader包下载:
进一步提高PHP程序的执行效率,优化页面的加载速度
tar zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/
cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/
cp ZendGuardLoader.so /usr/local/php5/lib/php
vim /usr/local/php5/php.ini #添加配置文件
1
#在末尾添加 2
zend_extendsion=/usr/local/php/lib/php/ZendGuardLoader.so 3
zned_loader=1 修改php.ini配置文件
6.httpd.conf配置调整
vim /usr/local/httpd/conf/httpd.conf #修改配置httpd的配置文件
LoadModule
php5_module modules/libphp5.so #如果php安装成功,则会自动生成此文件
AddType application/x-httpd-php .php #添加 DirectoryIndex index.php
index.html #修改 修改httpd的配置文件
service httpd restart #重新启动httpd
7.测试
测试一:测试是否可以正常解析php文件(php测试代码)
1 <?php
2 phpinfo();
3 ?>
测试二:测试php网页是否可以正常连接数据库服务(php测试代码)
1 <?php
2 $link=mysql_connect('localhost','root','123.com');
3 if ($link) echo "数据库连接成功";
4 mysql_close();
5 ?>
8.部署phpMyAdmin(采用php开发)
tar zxf phpMyAdmin-2.11.11.3-all-languages.tar.gz
mv phpMyAdmin-2.11.11.3-all-languages /usr/local/httpd/htdocs/phpMyAdmin #将源码放置网站的根目录下
cd /usr/local/httpd/htdocs/phpMyAdmin/
cp config.sample.inc.php config.inc.php #创建配置文件
LAMP平台的概述 LAMP环境脚本部署: LAMP的介绍:百度百科 LAMP平台的构成组件...
1)先将rpm方式安装的php及依赖包卸载,如果存在(php、php-ldap、php-common、php-mysql等)另外安装zlib-devel和libxml2-devel包
5、zabbix安装配置:
wget
#安装支持监控snmp包监控交换机等
yum install net-snmp-devel
tar zxvf zabbix-3.0.8.tar.gz
cd zabbix-3.0.8
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent
--with-mysql --with-net-snmp --with-libcurl --with-libxml2
make && make install
echo $?
#配置数据库导入数据
mysql>create database zabbix;
mysql>grant all on zabbix.* to 'zabbixuser'@'localhost' identified
by '123.com';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> use zabbix;
mysql> source /root/tools/zabbix-3.0.8/database/mysql/schema.sql
mysql> source /root/tools/zabbix-3.0.8/database/mysql/images.sql
mysql> source /root/tools/zabbix-3.0.8/database/mysql/data.sql
#初始化sql文件在源码包/root/zabbix-3.0.4/database/mysql目录下
#配置zabbix_server配置文件修改如下:
vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
DBHost=localhsot
DBName=zabbix
DBUser=zabbixuser
DBPassword=123.com #zabbixuser的密码
LogSlowQueries=3000
cp misc/init.d/fedora/core/* /etc/init.d/
chmod x /etc/init.d/zabbix_server
chmod x /etc/init.d/zabbix_agentd
sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g'
/etc/init.d/zabbix_agentd
sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g'
/etc/init.d/zabbix_server
useradd -s /sbin/nologin -M zabbix
mkdir /usr/local/zabbix/logs
chown -R zabbix.zabbix /usr/local/zabbix/
/etc/init.d/zabbix_agentd start
/etc/init.d/zabbix_server start
netstat -lntup|grep 1005
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 28005/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 27916/zabbix_server
#拷贝代码文件到apache发布目录下修改名为zabbix:
cp -a frontends/php /usr/local/httpd/htdocs/zabbix
sed -i 's#;date.timezone =#date.timezone = Asia/Shanghai#g'
/usr/local/php/etc/php.ini
sed -i 's#post_max_size = 8M#post_max_size = 16M#g'
/usr/local/php/etc/php.ini
sed -i 's#max_execution_time = 30#max_execution_time = 300#g'
/usr/local/php/etc/php.ini
sed -i 's#max_input_time = 60#max_input_time = 300#g'
/usr/local/php/etc/php.ini
#去掉前面的#号即可,纠结了半天。
sed -i 's#;always_populate_raw_post_data =
-1#always_populate_raw_post_data = -1#g'
/usr/local/php/etc/php.ini
#重新加载apache
/usr/local/httpd/bin/apachectl graceful
最后一步(install)会报错,无法创建配置文件。
下载配置文件,保存到/usr/local/httpd/htdocs/zabbix/conf/zabbix.conf.php
重新登陆即可:usename:admin password:zabbix
修改中文:administration>>users>>admin>>language(chinese(zh_CN)) 更新网页即可。
解决图形界面中文乱码的问题:
从windows下控制面板->字体->选择一种中文字库例如“楷体”
cd /usr/local/httpd/htdocs/zabbix/fonts
mv DejaVuSans.ttf DejaVuSans.ttf.bak
rz 上传字体文件simkai.ttf到当前目录
ls
DejaVuSans.ttf.bak simkai.ttf
vim ../include/defines.inc.php
在VIM编辑中使用替换功能将DejaVuSans替换成simkai,不添加后缀。
:%s/DejaVuSans/simkai
问题1:
./zabbix_server
./zabbix_server: error while loading shared libraries:
libmysqlclient.so.20: cannot open shared object file: No such file or
directory
解决:
# find / -name "libmysqlclient.so.20"
/usr/local/mysql-5.7.17/lib/libmysqlclient.so.20
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib
ldconfig
后续更新zabbix监控项目和监控报警。。。。
2.3 apt-get安装:
澳门新浦京娱乐场网站,apt-get install mysql-server
apt-get install mysql-server-core-5.1
配置文件:/etc/mysql/my.cnf
启动文件位置:/etc/init.d/mysql
执行文件:/usr/bin
启动:/etc/init.d/mysql start 或者service mysql restart
问题:远程访问局域网内的mysql时出现ERROR 2003 (HY000): Can't connect to MySQL server on (10061)
解决:my.ini(my.cnf)默认的bind-address是127.0.0.1,这样的话就算你创建的用户有可以remote访问的话 也不能通过-h 来访问。 mysql只接受localhost。 所以把bind-address屏蔽掉即可。
(1)准备工作
3:安装libxml2,php5必须有libxml2支持!
进入home目录
# cd /home
解压缩libxml2-2.6.30.tar.gz
# tar -zxflibxml2-git-snapshot.tar.gz
进入刚解压缩出来的文件目录
# cd libxml2-git-snapshot
配置安装目录信息
# ./configure –prefix=/usr/local/libxml2
【configure: error: cannot find macrodirectory `m4' 】
# mkdir/home/hguisu/libxml2-git-snapshot/m4 就OK 了。
编译和安装
# make; make install
rpm-ivhlibxml2-2.6.23-1.2.i386.rpm
rpm-ivh libxml2-devel-2.6.23-1.2.i386.rp
或者yum install libxml2-devel.x86_64
[root@crushlinux ~]# service iptables stop //关闭防火墙
[root@crushlinux ~]# setenforce 0 //关闭seLinux
4 .安装php5
进入home目录
# cd /home
解压缩php-5.2.3.tar.gz
# tar -zvxf php-5.2.3.tar.gz
创建/usr/local/php安装目录
# mkdir /usr/local/php
进入刚解压缩出来的目录
# cd php-5.2.3
配置安装信息
# ./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2
(mysql=/usr/local/mysql/ 加载mysql模块, --with-apxs2=/usr/local/apache2/bin/apxs配置http.conf,添加LoadModule)
编译安装
# make;make install
复制配置文件php.ini
# cp php.ini-development/usr/local/php/lib/php.ini
(2)确认没有使用以rpm方式安装的httpd、MySQL及PHP
2)安装扩展工具库,数据加密工具(libmcrypt、mhash、mcrypt)
5:重新配置apache2让他支持php。
如果安装php的时候,configure选项带有 --with-apxs2=/usr/local/apache2/bin/apxs,就不用以下这些手工配置了。
配置 httpd.conf 让apache支持PHP
# vi/usr/local/apache2/conf/httpd.conf
在vi中的命令状态(按esc可以到命令状态)按/AddType查找到下面内容
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容(注意vi命令模式下 按键盘上的i键 进入插入编辑状态)
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
添加完毕后 按esc到命令状态输入:wq保存退出
重启apache
#/usr/local/apache2/bin/apachectl stop
#/usr/local/apache2/bin/apachectl start
在/usr/local/apache2/htdocs目录里建一内容为 PHP文件info.php
#vi /usr/local/apache2/htdocs/info.php
进入vi环境后 按i进入编辑模式
输入一下内容
<?php
echo phpinfo();
?>
然后按esc退出编辑模式到命令模式输入:wq保存退出
打开一个浏览器窗口在地址栏输入
如果出现配置信息的页面,就证明整个环境配置成功.
[root@crushlinux ~]# rpm -e httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-httpd php php-cli php-ldap php-common php-mysql mysql-server mysql dovecot –nodeps
(1)安装libmcrypt
6、问题
安装
6.1、无法加载 mysql 扩展,请检查您的 PHP 配置。
大体方法是进入php 的源码目录下的 ext/moduledir,
也就是你想要编译的模块的源码目录下, 然后以绝对
路径的方式调用已经编译好的php 的目录下的 bin/phpize 这个程序.
1.进入php到源目录:
cd home/hguisu/php-5.3.2/ext/mysql
2. 执行phpize:/usr/local/php/bin/phpize
这样, 就会在php-5.3.2/ext/mysql 目录下,
产生一系列可以单独进行configure 和 make 的 文件 (如果要清理掉它们,
运行 /php/bin/phpize --clean ).
3. 之后 我们运行:
./configure--with-php-config=/php/bin/php-config --with-mysql
如果提示错误:configure: error: Cannot find MySQL header files under
yes.
解决:在 ./configure 下参数指定 header file
的位置(即mysql安装目录),加上如下语句:
–with-mysql=/usr/local/mysql
4. 编译make
5 .安装 make install
整个过程也就基本完成了.
注意, 编译好的模块, 一般是自动安装到大概这种关系的路径下 (我的是 bsd
系统, 别的系统或许不 一样):
/php/lib/php/extensions/no-debug-non-zts-20060613
另外, win 下编译好的模块扩展名一般是dll, 而 unix 之类的系统则通常为
so.
6.设置 php.ini
在php.ini加入:extension=mysql.so,
设置扩展路径:extension_dir ="/usr/local/php/ext/".
把/php/lib/php/extensions/no-debug-non-zts-20060613/下的mysql.so拷到/usr/local/php/ext/"
然后重启 http 服务器就行了
编译安装完成后,设置软链接
6.2、无法加载 mcrypt 扩展,请检查您的 PHP 配置。
解决:
安装 libmcrypt
下载libmcrypt-2.5.8.tar.gz
解压tar zxvf libmcrypt-2.5.8.tar.gz
配置./configure
编译 make
安装 make install
注意,这里配置的时候不需要指定安装位置,否则在以后步骤中可能出错
进入php的安装源文件,进入php-5.3.0/ext/mcrypt
运行/usr/local/php/bin/phpize
这时可能说没有autoconf这个软件,就装一下apt-get install autoconf,当然自己编译也可以
再次运行/usr/local/php/bin/phpize
会产生configure等文件
然后配置./configure --with-php-config=/usr/local/php/bin/php-config
编译make
安装 make install
会出现提示说在某个文件夹里面产生了一个文件mcrypt.so,这时要把这个文件移动到extension_dir里面,具体extension_澳门新浦京娱乐场网站:lamp安装配置详细过程,LAMP平台的搭建及应用。dir是那个,可以参照刚安装完php之后测试时显示的信息
然后重新编译php,回到php安装的(4)这时的配置参数要加一个--with-mcrypt
重新编译安装php,然后成功后,重启apache进行测试
安装httpd
6.3、找不到mbstring
解决:
进入php的安装源文件,进入php-5.3.0/ext/mbstring
运行:
/usr/local/php/bin/phpize
会产生configure等文件
然后配置./configure --with-php-config=/usr/local/php/bin/php-config
编译make
安装 make install
会出现提示说在某个文件夹里面产生了一个文件mbstring.so,这时要把这个文件移动到extension_dir里面,具体extension_dir是那个,可以参照刚安装完php之后测试时显示的信息
这次不用编译了,到php的配置文件,在extension里面添加extension=mbstring.so,然后保存后重新启动apache,如果没有达到效果,那么在后面添加绝对路径
1、下载apache
(2)安装mhash
6.4如果自己用libmcrypt、mhash、mcrypt编译mcrypt
那么记得前面个两个配置时要用默认配置,不要加参数,配置mcrypt 时安装到指定位置,这样方便重新编译php,如果在编译前面2个时用了指定位置,可能在编译mcrypt时出现以下问题
6.3.1
描述:
libmcrypt cannot be found
解决:
cp /usr/local/lamp_other/libmcrypt/lib/libmcrypt.*/usr/lib/
ln -s/usr/local/lamp_other/mhash/lib/libmhash.so.2 /usr/lib/libmhash.so.2
这里/usr/local/lamp_other/libmcrypt/就是安装libmcrypt的指定路径
6.3.2
描述:
"You need at least libmhash 0.8.15to compile this program.
这个问题不知道怎么解决,有的说在编译mcrypt时用LD_LIBRARY_DIR=<mhash安装路径> ./configure --prefix=/usr/local/mcrypt,不过我没有成功过
最直接的解决办法就是得前面个两个配置时要用默认配置,不要加参数
wget http://archive.apache.org/dist/httpd/httpd-2.2.17.tar.gz
2、解压压缩包
编译安装完成后,设置软链接
tar xf httpd-2.2.17.tar.gz
3、编译源码包,并且安装
(3)安装mcrypt
(1)cd httpd-2.2.17
(2)./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
输入一下命令解决configure配置错误,然后再次执行./configure
编译完成后,如上图,说明已经编译成功
如果出现以下错误
则在编译时加入–with-included-apr即可。
编译及安装
--prefix=:指定安装目录
--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力
3)编译安装php
--enable-rewrite::启用网页地址重写功能,用于网站优化及目录迁移维护。(如果访问网站未找到,将自动跳转到其他网页)
--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
3、调整php和httpd的主配置文件、复制php配置文件、调整配置文件、添加zend优化模块、测试PHP和MySQL
--enable-cgi:启用CGI脚本程序支持,以便于网站的应用访问能力
步骤“
--help:帮助信息
1)php.ini配置调整
4.安装
进入 /usr/local/php5/php.ini 修改php.ini文件中的配置
make && make install
5.优化执行路径
2)添加ZendGuardLoader优化模块
[root@crushlinux local]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
注:在任意目录下。都可以使用httpd下的命令,为命令路径添加一条软连接。
然后进入/usr/local/php5/php.ini添加加载及启用ZendGuardLoader.so模块的配置语句
添加httpd为系统服务并重命名为httpd
3)htpd.conf配置调整/usr/local/httpd/conf/httpd.conf ,然后重启apache服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd(将服务控制工具复制到init.d下)
vi /etc/init.d/httpd #编辑启动脚本,增加红色部分内容,以便通过chkconfig管理
#!/bin/sh
#chkconfig:345 66 88
#description:Startup script for the Apache HTTP Server
解释:
345 66 88表示:345运行级别是开启的,66为服务启动顺序,88服务为停止顺序。
chmod x /etc/init.d/httpd
chkconfig --add httpd //将httpd服务添加为系统服务
chkconfig --list httpd
启动服务
service httpd start
报错1:httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName 不能找到完全合格的域名
4)测试php网页文件能否正确显示,首先创建一个php文件
解决:vim /usr/local/httpd/conf/httpd.conf
/usr/local/httpd/htdocs/test1.php
97 #ServerName www.example.com:80
98 ServerName localhost:80
使用宿主机测试
报错2:
/usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
1)测试php网页能否访问mysql数据库,创建一个php文件
有很多so模块在/usr/local/lib目录下,所以在/etc/ld.so.conf中加入/usr/local/lib这一行
/usr/local/httpd/htdocs/test2.php
[root@crushlinux conf]# vi /etc/ld.so.conf
/usr/local/lib
[root@crushlinux conf]# /sbin/ldconfig -v
现在您已经将 Apach源代码安装在 /usr/local/apache。本源代码安装支持可装载模块
设置mysql的root密码
和标准的 MPM prefork。之后,可以使用如下命令启动 Apache 服务器:
/usr/local/httpd/bin/apachectl start
使用宿主机测试
二.安装MySQL
1.准备工作
4、部署phpMyAdmin,通过web界面管理mysql,创建benet数据库,班级名表,添加本人名和张三的记录。查询到记录。
(1)查看是否使用以rpm包安装的mysql-server-mysql软件,如果有,将其卸载。
1)解包并复制到网站目录
[root@crushlinux ~]# rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
(2)mysql5.5以上的版本都需要cmake编译。而不是./configure
2)建立配置文件config.inc.php
所以需要安装cmake
tar xf cmake-2.8.6.tar.gz
cd cmake-2.8.6
./configure
gmake && gmake install
或这是
yum -y install cmake
3)使用宿主机访问并创建库和表
2.源码编译及安装。
(1)
[root@crushlinux ~]#groupadd mysql
[root@crushlinux ~]# useradd -M -s /sbin/nologin mysql -g mysql
(2)解包
tar xf mysql-5.5.22.tar.gz -C /usr/src/
cd /usr/src/mysql-5.5.22/
(3)配置
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all
文章参考微信公众号:L宝宝聊IT
-DCMAKE_INSTALL-PREFIX=/usr/local/mysql :指定安装目录
-DSYSCONFDIR=/etc :指定初始化参数文件目录
-DDEFAULT_CHARSET=utf8 :指定默认的字符编码集,如utf8
-DDEFAULT_COLLATION=utf8_general_ci :指定默认使用的字符集校对规则。Utf8_general_ci是适用于utf-8字符集的通用规则
-DWITH_EXTRA_CHARSETS=all :指定额外支持的其他字符集编码(默认支持所有)
如报以下错误:解决方法如下:
rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
[root@crushlinux mysql-5.5.22]# rm CMakeCache.txt
4)安装
make && make install
5).安装后的其他调整
chown -R mysql:mysql /usr/local/mysql/
6)建立配置文件
[root@crushlinux mysql]#rm -fr /etc/my.cnf
[root@crushlinux mysql]#cp support-files/my-medium.cnf /etc/my.cnf
7)初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data/
8)设置环境变量
[root@crushlinux mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
9)添加系统服务
[root@crushlinux mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@crushlinux mysql]# chmod x /etc/init.d/mysqld
启动服务
[root@crushlinux mysql]# service mysqld start
Starting MySQL.. [ OK ]
5.登录验证
[root@crushlinux mysql] mysql
三.安装PHP
1.源码包安装libmcript
[root@crushlinux ~]# tar zxf libmcrypt-2.5.8.tar.gz [root@crushlinux ~]# cd libmcrypt-2.5.8/
[root@crushlinux libmcrypt-2.5.8]# ./configure
[root@crushlinux libmcrypt-2.5.8]# make && make install
[root@crushlinuxlibmcrypt-2.5.8]#ln -s /usr/local/lib/libmcrypt.* /usr/lib/
2.源代码安装mhash
[root@crushlinux ~]# tar zxf mhash-0.9.9.9.tar.gz
[root@crushlinux ~]# cd mhash-0.9.9.9/
[root@crushlinux mhash-0.9.9.9]# ./configure
[root@crushlinux mhash-0.9.9.9]# make && make install
[root@crushlinux mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/
3、源代码安装mcrypt
[root@crushlinux ~]# tar zxf mcrypt-2.6.8.tar.gz
[root@crushlinux ~]# cd mcrypt-2.6.8/
[root@crushlinux mcrypt-2.6.8]# ./configure
[root@crushlinux mcrypt-2.6.8]# make && make install
编译时候报错:
configure: error: *** libmcrypt was not found
解决办法:
第一步:ln -s
/usr/local/bin/libmcrypt_config /usr/bin/libmcrypt_config
第二步:
export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH
4、编译php
[root@crushlinux ~]# tar zxf php-5.3.6.tar.gz
[root@crushlinux ~]# cd /php-5.3.6
[root@crushlinux php-5.3.6]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring
编译参数解释:
--prefix=/usr/local/php5 //指定安装目录
--with-mcrypt //加载扩展工具支持
--with-apxs2=/usr/local/httpd/bin/apxs //设置Apache提供的apxs模块 程序文件位置
--with-mysql=/usr/local/mysql //指定mysql服务的安装路径
--with-config-file-path=/usr/local/php5 //指定php配置文件“php.ini” 的存放路径
--enable-mbstring //启用多字节字符串功能
如报以上错误,解决方法如下
[root@crushlinux php-5.6.30]# rpm -ivh /media/cdrom/Packages/libxml2-2.7.6-14.el6.x86_64.rpm
[root@crushlinux php-5.6.30]# rpm -ivh /media/cdrom/Packages/zlib-devel-1.2.3-29.el6.x86_64.rpm
[root@crushlinux php-5.6.30]# rpm -ivh /media/cdrom/Packages/libxml2-devel-2.7.6-14.el6.x86_64.rpm
5.安装
make && make install
四.整合lamp组件环境
php.ini配置文件
安装好PHP软件包以后,服务器并不会自动创建php.ini配置文件,在源码包目录下提供了两个样例配置文件。
[root@crushlinux php-5.3.6]# cd php-5.3.6
[root@crushlinux php-5.3.6]# ls php.ini-*
/usr/src/php-5.3.6/php.ini-development //开发版样例文件,用户学习,测试
/usr/src/php-5.3.6/php.ini-production//生产版样例文件,用户实际运用
1)复制样例文件
[root@crushlinux php-5.3.6]#
cp php.ini-development /usr/local/php5/php.ini
2)php.ini配置调整
[root@crushlinux php-5.3.6]# vi /usr/local/php5/php.ini
773 default_charset = "utf-8" //设置默认字符集为utf-8
871 file_uploads = On //允许通过PHP网页上传文件
880 upload_max_filesize = 2M //允许上传的文件大小限制
883 max_file_uploads = 20 //每个HTTP请求最多允许上传的文件数
728 post_max_size = 8M //每次通过表单POST提交的数据量限制
226 short_open_tag = On //允许识别PHP短语法标记,即<? … ?>
3)调整Apache配置
[root@crushlinux ~]# vim /usr/local/httpd/conf/httpd.conf
53 LoadModule php5_module modules/libphp5.so
配置加载PHP程序的模块文件php5_module模块名称
modules/libphp5.so 模块位置
54 AddType application/x-httpd-php .php .phtml
添加对“.php”类型网页支持
169 DirectoryIndex index.php index.html
识别常见的php首页文件
[root@crushlinux ~]# /usr/local/httpd/bin/apachectl restart
五、测试
1)测试PHP能否正常提供服务
[root@crushlinux ~]# vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo(); 内建函数用于显示PHP环境信息
?>
[root@crushlinux ~]# /usr/local/httpd/bin/apachectl restart
浏览器输入:
有如上信息为正确
2)测试PHP能否正常访问mysql数据库
[root@crushlinux ~]# vi /usr/local/httpd/htdocs/test2.php
<?php
$link=mysql_connect('localhost','root',''); //连接的数据库
if($link) echo "OK!!"; // 连接成功时的反馈
else echo "FAILD!!"; // 失败时的反馈
?>
七.Lamp架构应用实例
部署phpMyAdmin系统:
- phpMyAdmin是一个使用PHP语言编写,用来管理MySQL数据库的Web应用系统。
- 通过该套件的网页界面对MySQL数据库进行管理和维护。
实验环境依托于:
1.解包并复制到网站目录:
Eg:将phpMyAdmin套件部署到网站根目录下,以便通过地址
[root@crushlinux~]# tar zxf phpMyAdmin-3.3.10-all-languages.tar.gz
[root@crushlinux~]# mv phpMyAdmin-3.3.10-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin
2.建立配置文件config.inc.php:
默认提供的样例配置文件为config.sample.inc,以此建立config.inc.php配置文件,查找并修改配置文件中的“blowfish_secret”行,并设置一个短语密钥(此密钥用于网页cookie认证,不需要用户记忆)
[root@crushlinux~]# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@crushlinuxphpMyAdmin]# cp config.sample.inc.phpconfig.inc.php
[root@crushlinuxphpMyAdmin]# vim config.inc.php
$cfg['blowfish_secret'] = '123.asd';
3.访问phpMyAdmin的Web管理界面:
在浏览器中访问
授权配置操作:
phpMyAdmin主页面:
phpMyAdmin系统默认使用cookie认证方式,在首次访问时页面下方会提示“必须启用Cookies才能登录”,要求在客户机的浏览器启用cookies机制。【直接F5刷新就ok了】
本文由澳门新浦京娱乐场网站发布于澳门新浦京娱乐场网站,转载请注明出处:澳门新浦京娱乐场网站:lamp安装配置详细过程,