Linux下搭建LAMP环境
第一种方法:安装包编译解析安装
准备工作:
1、配置防火墙,开启80端口、3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允许80端口通过防火墙
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允许3306端口通过防火墙
将以上内容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面
/etc/init.d/iptables restart #最后重启防火墙使配置生效
2、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq #保存,关闭
shutdown -r now #重启系统
Linux下安装MySQL
一、准备
1、查看系统是否已经安装了mysql
[root@iZ28wslixcoZ ~]# rpm -qa | grep mysql
// 这个命令就会查看该操作系统上是否已经安装了mysql数据库
如果没有安装,则不会输出任何内容;如果已经安装了,会显示相应的版本信息。
[root@iZ28wslixcoZ ~]# rpm -e mysql
// 普通删除模式
[root@iZ28wslixcoZ ~]# rpm -e –nodeps mysql
// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
二、安装
[root@iZ28wslixcoZ ~]# yum list | grep mysql
我们通过命令可以查看yum上提供下载的mysql的版本信息,然后通过下面的命令进行数据库的安装,
[root@iZ28wslixcoZ ~]# yum install -y mysql-server mysql mysql-deve
但是,
CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载:
[root@iZ28wslixcoZ ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
[root@iZ28wslixcoZ ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@iZ28wslixcoZ ~]# yum install mysql-community-server
成功安装之后重启mysql服务:
[root@iZ28wslixcoZ ~]# service mysqld restart
MySQL安装之后是没有密码的,可以直接通过
[root@iZ28wslixcoZ ~]# mysql
登录,如果显示Welcome to the MySQL monitor等信息,则说明MySQL安装成功。
三、配置
MySQL安装之后只能通过本机登录,是不能远程连接的,如果用Navicat等MySQL客户端连接,会报错ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server。说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录,需更改 MySQL 数据库里的 user表里的host项,把localhost改为%
具体步骤:
登录到MySQL,
mysql > user mysql;
mysql > update user set host=\’%\’ where user = \’root\’;
(这时候会报错ERROR 1062 (23000): Duplicate entry \’%-root\’ for key \’PRIMARY\’ ,这个不用管)
mysql > select host from user where user = \’root\’;
+———————–+
| host |
+———————–+
| % |
| 127.0.0.1 |
| localhost.localdomain |
+———————–+
3 rows in set (0.00 sec)
host已经有了%这个值,所以直接运行命令:
mysql > flush privileges;
再用Navicat连接即可成功。
或者可以通过以下较通用的命令更改MySQL的权限:
1、设置访问单个数据库权限
mysql>grant all privileges on test.* to \’root\’@\’%\’;
说明:设置用户名为root,密码为空,可访问数据库test
2、设置访问全部数据库权限
mysql>grant all privileges on *.* to \’root\’@\’%\’;
说明:设置用户名为root,密码为空,可访问所有数据库*
3、设置指定用户名访问权限
mysql>grant all privileges on *.* to \’liuhui\’@\’%\’;
说明:设置指定用户名为liuhui,密码为空,可访问所有数据库*
4、设置密码访问权限
mysql>grant all privileges on *.* to \’liuhui\’@\’%\’ IDENTIFIED BY \’liuhui\’;
说明:设置指定用户名为liuhui,密码为liuhui,可访问所有数据库*
5、设置指定可访问主机权限
mysql>grant all privileges on *.* to \’liuhui\’@\’10.2.1.11\’;
说明:设置指定用户名为liuhui,可访问所有数据库*,只有10.2.1.11这台机器有权限访问
Linux下安装Apache
一、准备
1、安装apr
下载地址:http://apr.apache.org/download.cgi
[root@iZ28wslixcoZ work]# tar -zxvf apr-1.5.2.tar.gz
[root@iZ28wslixcoZ apr-1.5.2]# ./configure –prefix=/usr/local/apr // 自己的地址
[root@iZ28wslixcoZ apr-1.5.2]# make
[root@iZ28wslixcoZ apr-1.5.2]# make install
2、安装apr-util
下载地址:http://apr.apache.org/download.cgi
[root@iZ28wslixcoZ work]# tar -zxvf apr-util-1.5.4.tar.gz
[root@iZ28wslixcoZ apr-util-1.5.4]# ./configure –prefix=/usr/local/apr-util // 自己的地址
[root@iZ28wslixcoZ apr-util-1.5.4]# make
[root@iZ28wslixcoZ apr-util-1.5.4]# make install
3、安装pcre
下载地址:http://pcre.org/
[root@iZ28wslixcoZ work]# tar -zxvf pcre-8.36.tar.gz
[root@iZ28wslixcoZ pcre-8.36]# ./configure –prefix=/usr/local/pcre // 自己的地址
[root@iZ28wslixcoZ pcre-8.36]# make
[root@iZ28wslixcoZ pcre-8.36]# make install
二、安装
[root@iZ28wslixcoZ work]# tar -zxvf httpd-2.4.16.tar.gz
[root@iZ28wslixcoZ httpd-2.4.16]# ./configure –prefix=/usr/local/apache –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –with-pcre=/usr/local/pcre
[root@iZ28wslixcoZ httpd-2.4.16]# make
[root@iZ28wslixcoZ httpd-2.4.16]# make install
三、配置
1、修改配置文件
打开conf/httpd.conf,将# ServerName www.example.com:80改为ServerName localhost:80 // ip:80。
2、启动
[root@iZ28wslixcoZ /usr/local/apache]# ./bin/apachectl start
在浏览器中输入http://ip,正常的话即可查看到“It works!”。
3、设置开机启动
[root@iZ28wslixcoZ ~]# vi /etc/rc.local
添加:/usr/local/apache/bin/apachectl start
4、修改Apache的默认站点目录
Apache HTTP Server安装好后,默认的站点目录位于其安装目录下的htdocs文件夹内,默认首页是该文件夹的index.html文件。
修改方法:
(1)到Apache的安装目录下找到conf文件夹,该文件夹内会有httpd.conf这样一个文本文档,它是Apache的配置文件,负责指挥Apache的运行。
(2)打开该文本文档,查找“DocumentRoot “”(带英文双引号),查找出来之后,将字符串“DocumentRoot”后面双引号内的字符串修改为自己想要设定的网站目录。
(3)完成上述第2步之后,暂不要关闭httpd.conf文件,继续查找,查找“<Directory “” (带英文双引号),查找到“<Directory “”之后,将第一个“Directory”字符串后面双引号内的字符串修改为自己想要设定的网站目录。
(4)保存退出,重启apache服务器即可。
Linux下安装PHP
一、准备
1、安装libxml2
1)、下载libxml2:http://xmlsoft.org/downloads.html
2)、安装:
[root@iZ28wslixcoZ work]# tar -zxvf libxml2-2.7.2.tar.gz
[root@iZ28wslixcoZ work]# cd libxml2-2.7.2
[root@iZ28wslixcoZ libxml2-2.7.2]# ./configure –prefix=/usr/local/libxml2
[root@iZ28wslixcoZ libxml2-2.7.2]# make
[root@iZ28wslixcoZ libxml2-2.7.2]# make install
如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、man和share五个目录。在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上”–with-libxml-dir=/usr/local/libxml2″选项,用于指定安装libxml2库文件的位置。
二、安装
1、下载php5
http://www.php.net/downloads.php
2、安装
[root@iZ28wslixcoZ work]# tar -zxvf php-5.6.14.tar.gz
[root@iZ28wslixcoZ work]# cd php-5.6.14
[root@iZ28wslixcoZ php-5.6.14]# ./configure –prefix= /usr/local/php \
–with-mysql=/usr/local/mysql \
–with-apxs=/usr/local/apache/bin/apxs \
–with-libxml-dir=/usr/local/libxml2
(如果安装的是apache2,请使用–with-apxs2=/usr/local/apache/bin/apxs)
(如果报错:Note that the MySQL client library is not bundled anymore! 则说明php编译支持mysql时有问题,如果不知道mysql库在哪,可以这样配置:
–with-mysql=mysqlnd \
–with-mysqli=mysqlnd \
–with-pdo-mysql=mysqlnd
)
[root@iZ28wslixcoZ php-5.6.14]# make
[root@iZ28wslixcoZ php-5.6.14]# make install
3、配置
重新配置apache2让他支持php。
配置 httpd.conf 让apache支持PHP:
[root@iZ28wslixcoZ ~]# vi /usr/local/apache/conf/httpd.conf
找到AddType application/x-gzip .gz .tgz在其下添加如下内容
AddType application/x-httpd-php .php (.前面有空格)
AddType application/x-httpd-php-source .phps (.前面有空格)
保存退出。
copy PHP的配置文件:
[root@iZ28wslixcoZ ~]# cp /usr/work/php-5.6.14/php.ini.dist /usr/local/php/lib/php.ini
(如果没有php.ini.dist,则把php.ini-development php.ini-production中的任何一个重命名为php.ini.dist即可)
4、测试
写一个php测试页info.php,放到apache2/htdocs中。
<?php
phpinfo();
?>;
启动apache,在浏览器中输入:http: //服务器地址/info.php,如果能正常显示出php的信息,则说明Apche+Mysql+PHP安装成功!
第二种方法:YUM安装法
一、 分别安装搭建lamp服务环境
准备工作:
1、配置防火墙,开启80端口、3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允许80端口通过防火墙
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允许3306端口通过防火墙
将以上内容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面
/etc/init.d/iptables restart #最后重启防火墙使配置生效
2、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq #保存,关闭
shutdown -r now #重启系统
安装:
1、安装Apache
卸载自带httpd: yum remove httpd
yum install httpd #根据提示,输入Y安装即可成功安装
/etc/init.d/httpd start #启动Apache
备注:Apache启动之后会提示错误:
正在启动 httpd:httpd: Could not reliably determine theserver’s fully qualif domain name, using ::1 for ServerName
解决办法:
vi /etc/httpd/conf/httpd.conf #编辑
找到 #ServerName www.example.com:80
修改为 ServerName www.osyunwei.com:80 #这里设置为你自己的域名,如果没有域名,可以设置为localhost
:wq! #保存退出
chkconfig httpd on #设为开机启动
/etc/init.d/httpd restart #重启Apache
2、安装MySQL
先卸载自带mysql:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
安装:
yum install mysql mysql-server #询问是否要安装,输入Y即可自动安装,直到安装完成
/etc/init.d/mysqld start #启动MySQL
chkconfig mysqld on #设为开机启动
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
为root账户设置密码:
mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:Thanks for using MySQL!
MySql密码设置完成,重新启动 MySQL:
/etc/init.d/mysqld restart #重启
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #启动
3、安装PHP5
yum install php
根据提示输入Y直到安装完成
安装PHP组件,使 PHP5 支持 MySQL
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pearphp-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
这里选择以上安装包进行安装
根据提示输入Y回车
/etc/init.d/mysqld restart #重启MySql
/etc/init.d/httpd restart #重启Apche
相关配置:
1、Apache配置
vi /etc/httpd/conf/httpd.conf #编辑文件
ServerTokens OS 在44行 修改为:ServerTokensProd (在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On 在536行 修改为:ServerSignatureOff (在错误页中不显示Apache的版本)
Options Indexes FollowSymLinks 在331行 修改为:Options i n c l u d es e x e cCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)
#AddHandler cgi-script .cgi 在796行 修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)
AllowOverride None 在338行 修改为:AllowOverrideAll (允许.htaccess)
AddDefaultCharset UTF-8 在759行 修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)
Options Indexes MultiViews FollowSymLinks 在554行 修改为 Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)
DirectoryIndex index.html index.html.var 在402行 修改为:DirectoryIndex index.html index.htm Default.html Default.htm
index.php Default.php index.html.var (设置默认首页文件,增加index.php)
KeepAlive Off 在76行 修改为:KeepAliveOn (允许程序性联机)
MaxKeepAliveRequests 100 在83行 修改为:MaxKeepAliveRequests 1000 (增加同时连接数)
:wq! #保存退出
/etc/init.d/httpd restart #重启
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页
2、php配置
vi /etc/php.ini #编辑
date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC
disable_functions = p a s s t h r u,e x e c,s y s t e m,chroot,scandir,chgrp,chown,shell_e x e c, p r o c _ o p e n,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,pope p a s s t h r u,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,
getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #在432行 禁止显示php版本的信息
magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
short_open_tag = ON #在229行支持php短标签
open_basedir = .:/tmp/ #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系 统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/
:wq! #保存退出
/etc/init.d/mysqld restart #重启MySql
/etc/init.d/httpd restart #重启Apche
测试:
cd /var/www/html
vi index.php #输入下面内容
<?php
phpinfo();
?>
:wq! #保存退出
在客户端浏览器输入服务器IP地址,可以看到如下图所示相关的配置信息!
其他:
后续安装PDO_MySQL拓展模块,只需要: yum install php-mysql
手动安装会出现错误(configure: error: mysql_query missing!?)
二、采用lamp一键安装包搭建环境
很多朋友可能认为分别安装Apache、mydql、php很麻烦,还需要手动配置。所以接下来小编带领大家了解下如何用lamp一键安装包搭建服务环境。
部署LNMP/LAMP/LNMPA一键包
1、脚本下载解压和执行安装
wget http://mirrors.linuxeye.com/lnmp-full.tar.gz
tar xzf lnmp-full.tar.gz
cd lnmp
./install.sh
2、安装过程的项目选择
因为这个脚本的特点不是从开始就无人值守的,需要根据我们的环境进行选择各种版本,所以选择的过程比较复杂,我们要看清楚,在这个过程中我们安装LAMP环境。
(1)、升级系统和端口、WEB服务器安装设置
开始过程我们看到上图,官方建议不更新系统,那我们就不更新。我们可以直接在安装脚本过程中直接修改ROOT端口,这个非常不错,要不我们在服务器安全事项处理的时候也需要修改端口,不要用默认的22。WEB服务器的安装,因为我们要安装LAMP环境,所以NGINX不安装,APACHE安装自己希望的版本,我这里安装2.4。
(2)、数据库版本和PHP版本选择安装
这里我们还要选择数据库和PHP版本的安装。
(3)、其他相关服务器组件的安装
我们根据自己的网站环境需求环境,配置需要的组件,小编个人建议是如果有需要用到就安装,没有必要用到就不要安装。
第三、安装完毕后一些部署工作
设置完毕之后,然后就是自动无人值守的安装,根据系统的速度需要执行20-30分钟,总之我们就等待,等待看到上图的界面就标示安装完毕,我们可以输入y重启服务器,然后检测下是否安装完整。
我们在服务器配置环境之后还是需要做几个工作的,最为主要的是删除默认安装的首页,在home/wwwroot/default中的首页,以及需要修改PHPMYADMIN的目录路径,原因大家都懂的,不懂也要做。
三、在lamp环境中初步搭建起一个网站
这里我们以主流的蝉知系统为例,直接在刚才一键安装好的LAMP环境中搭建网站。
蝉知企业建站系统下载: http://www.chanzhi.org/#1Q8Xh5DiC8hKFF
蝉知系统使用手册:http://www.chanzhi.org/book/chanzhieps.html/?u=xcj
下载解压后,将s y s t e m文件夹移到www文件夹中,这个www文件夹就是我么一会需要上传的网站文件。
LAMP环境添加站点:
因为一键包不同于WEB面板,我们添加站点需要用到命令,好歹比手工部署好一些,用到下面的命令。
cd /root/lnmp
./vhost.sh
我们将www下的文件上传到网站根目录下,访问网站地址进行安装。
启动安装程序
访问您的域名http://domain/install.php。如果您将蝉知安装在二级目录,还需要再加上二级路径。
检查模块和目录权限
备注:如果模块或者目录检查不通过的话,请按照系统给出的提示进行操作以解决问题。
配置数据库
备注:如果之前有安装过蝉知系统,可以选中“清空现有数据”按钮进行重新安装。
保存配置文件
备注:系统会自动尝试保存配置文件。如果由于权限的问题,请按照提示拷贝文本框里面的配置内容,手工保存到config/my.php文件中。
设置管理员帐号
登录后台
至此,我们已经成功的在LAMP环境中搭建起我们的网站了。
第三种方法:源码编译安装法
linux版本为CentOS 6.6
安装MySQL
我们平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,我们这里选择安装二进制免编译包。你可以到MySQL官方网站去下载 http://dev.mysql.com/downloads/ 具体版本根据你的平台和需求而定,
目前比较常用的为mysql-5.0/mysql-5.1, 5.5版本虽然已经发布有段日子了,但是貌似用在线上跑服务的还是少数。
具体的步骤如下:
1、下载mysql安装文件到/usr/local/src 目录下,如果没有wget命令,yum install wget 安装即可;
2、解压下载的文件
3、把解压完的数据移动到/usr/local/mysql
提醒注意:不用自己手动添加/mysql目录,移动的同时会把原目录改名的。
4、建立mysql用户,禁止登录系统;
5、初始化数据库,新建/data目录及/data/mysql子目录,并设置/data/mysql目录的所属主所属组为mysql用户;
–user 定义数据库的所属主,–datadir 定义数据库的安装路径,建议放到大存储空间。看到两个”OK”说明执行正确,否则请仔细查看错误信息,查询哪里出了问题;
6、拷贝配置文件
模板配置文件在/mysql/support-files/目录下;
根据内存大小选择:
my-small.cnf (内存 <= 64M)
my-medium.cnf (内存 128M )
my-large.cnf (内存 512M)
my-huge.cnf (内存 1G-2G)
my-innodb-heavy-4G.cnf (内存 4GB)
7、拷贝启动脚本文件并修改属性
8、修改启动脚本
需要修改的地方有
“basedir=/usr/local/mysql”(mysql的安装目录)
“datadir=/data/mysql”(前面初始化数据库定义的目录)
9、把启动脚本加入系统服务项,并设定开机启动,启动mysql服务;
启动mysqld服务时如出现以下的错误,
出错的原因是解压出来的mysql-5.1.40-linux-i686-icc-glibc23目录,执行mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql 目录的时候,不用建立目标目录mysql,命令是移动的同时会改名为mysql,如自己手动建立/local/mysql目录则是把目录移动到此目录下,导致命令不能执行。
也有可能的原因如下:
需要在/etc/my.cnf配置文件中,添加basedir和datadir
[mysqld]
port = 3306
basedir=/usr/local/mysql
datadir=/data/mysql
/etc/init.d/mysqld配置文件中,也需要添加basedir和datadir
basedir=/usr/local/mysql
datadir=/data/mysql
10、查看mysqld是否启动
/usr/local/mysql/bin 目录下的mysql为可执行命令,执行mysql开启客户端,测试mysql是否工作;
安装apache
1、下载httpd包到/usr/local/src/目录下;
2、解压httpd源码包
3、配置编译的参数
–prefix 指定apache的安装目录;
–enable-mods-shared=most 表示安装的模块大多数以mods共享模式加载;
–enable-so 表示是否支持dso动态加载模块,扩展安装;
执行./configure时,可能会遇到以下错误,这个主要是gcc编译器包、apr包没有安装。对于这个问题,安装gcc、apr包就可以了。
configure: error: in `/usr/local/src/httpd-2.2.16/srclib/apr\’:
configure: error: no acceptable C compiler found in $PATH
See `config.log\’ for more details.
configure failed for srclib/apr
执行./configure时,可能会遇到以上错误,这个主要是gcc编译器包、apr包没有安装。对于这个问题,使用yum install gcc就可以了。
4、make编译,编译完成后使用echo $? 查看make命令是否执行成功,成功返回值为0,不成功则为非0;
5、make install安装,完成后同样使用echo $? 查看是否执行成功,成功返回值为0,不成功则为非0;
当我们安装好apache服务器后通常会在apache2/bin/目录形成一些相关的执行命令,其中httpd文件是apache服务器的主程序。其被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。Apache服务器的所有相关操作都可以通过httpd命令进行完成,但是通常情况下我们并不建议这么做,而是通过同一目录下的apachectl命令通过调用httpd命令的方式来完成对服务器的开启,关闭等相关的操作的。
apache安装完成后检测:
/usr/local/apache2/bin/apachectl -t 测试配置文件是否正确
/usr/local/apache2/bin/httpd -t 测试配置文件是否正确,和上面的命令一样的效果;
/usr/local/apache2/bin/apachectl -l 查看apache加载的静态模块
/usr/local/apache2/bin/apachectl -M 把所有加载的模块列出来。
查看曾经的编译选项
/usr/local/apache2/build/config.nice 查看这个文件,列出来编译的时候的选项内容;
apache启动命令:
/usr/local/apache2/bin/apachectl start/stop/restart
/usr/local/apache2/bin/apachectl graceful/graceful-stop
start 用于启动apache服务,首先检查apache的配置文件是否有误,没有错误启动服务,如有误则输出错误信息;
stop 用于停止apache服务器,如果已经停止了apache服务器则会报错;
restart 重新启动apache服务器,如果apache没有启动则启动它;
graceful 和start参数一样,区别在于它不会中断正在处理的连接,也不会关闭日志。推荐使用。
graceful-stop 和stop参数一样,区别在于它不会中断正在处理的连接,也不会关闭日志,推荐使用。
启动时会出现几行类似错误的信息,是域名解析问题,需要在下面的配置文件修改:vim /usr/local/apach2/conf/http.conf
找到这一行 #ServerName www.example.com:80
这一项去掉#号,保存退出。再次启动就不会报错;
启动apache后使用netstat -nlp |grep httpd 查看httpd 80端口是否启用
使用curl localhost 测试网页是否正常;
在IE浏览器输入本地ip地址也可以测试网页是否正常;
PHP安装
PHP原始为 Personal Home Page的缩写,现已经正式更名为 “PHP: Hypertext Preprocessor”(超文本预处理) 的缩写。
PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
1、下载php源码包,下载后解压包
2、编译php源码包,配置选项参数
执行完成后最后几行报错,提示perl没有安装,apxs没有找到,apache没有建立;
Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using –with-apxs2=/path/to/apxs
3. Apache was not built using –enable-so (the apxs usage page is displayed)
The output of /usr/local/apache2/bin/apxs follows:
./configure: /usr/local/apache2/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory
configure: error: Aborting
这里先安装perl
安装perl之后,再次运行./configure还是报同样的错误;
perl已经安装成功,apxs也是存在的,其实真正的原因是apxs无法运行;
没有安装perl的情况下,编译安装apache生成apxs的第一行是:
#!/replace/with/path/to/perl/interpreter -w
#!/replace/with/path/to/perl/interpreter 因为这个文件是不存在的,所以不能运行apxs;
使用apxs需要安装perl,因为apxs使用的perl脚本;
修改配置文件:/usr/local/apache2/bin/apxs 的第一行内容
修改成#!/usr/bin/perl -w 保存退出;
建议在安装apache之前先安装perl,就不会出现此错误。
再次执行./configure 这一步,又出现下面的错误;
configure: error: xml2-config not found. Please check your libxml2 installation.
需要安装libxml2-devel包
[root@yong php-5.3.28]# yum install -y libxml2-devel
安装完成后再次执行./configure 这一步,又出现下面的错误;
configure: error: Cannot find OpenSSL\’s <evp.h>
需要安装openssl-devel包
[root@yong php-5.3.28]# yum install -y openssl-devel
安装完成后再次执行./configure 这一步,又出现下面的错误;
configure: error: Please reinstall the BZip2 distribution
需要安装bzip2-devel包
[root@yong php-5.3.28]# yum install -y bzip2-devel
再次执行./configure 这一步,又出现下面的错误;
configure: error: jpeglib.h not found.
需要安装libjpeg-devel包
[root@yong php-5.3.28]# yum install -y libjpeg-devel
再次执行./configure 这一步,又出现下面的错误;
configure: error: png.h not found.
需要安装libpng-devel包
[root@yong php-5.3.28]# yum install -y libpng libpng-devel
再次执行./configure 这一步,又出现下面的错误;
If configure fails try –with-xpm-dir=<DIR>
configure: error: freetype.h not found.
需要安装freetype-devel包
[root@yong php-5.3.28]# yum install -y freetype-devel
再次执行./configure 这一步,又出现下面的错误;
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
需要安装libmcrypt-devel包
因为centos6.X 默认yum源没有libmcrypt-devel这个包,需要借助第三方源,rpm安装epel源;
rpm -ivh “http://www.aminglinux.com/bbs/data/p_w_upload/forum/month_1211/epel-release-6-7.noarch.rpm”
epel源安装完成后再次执行# yum install -y libmcrypt-devel
再次执行./configure 终于不再出现错误提示,出现了欢迎使用界面。
3、make编译,编译完成后使用echo $? 查看make命令是否执行成功,成功返回值为0,不成功则为非0;
3、make install安装,完成后使用echo $? 查看make install命令是否执行成功,成功返回值为0,不成功则为非0;
apache结合php测试环境
Apache的主配置文件为:/usr/local/apache2/conf/httpd.conf
需要编辑配置文件
找到这一行:AddType application/x-gzip .gz .tgz
在该行下面添加:AddType application/x-httpd-php .php
找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
修改中间的行改为:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
找到:#ServerName www.example.com:80
修改为:ServerName localhost:80
测试LAMP是否成功
启动apache之前先检验配置文件是否正确,正确显示Syntax OK,如果有错误,需要修改httpd.conf配置文件;
查看apache是否启动
使用curl命令简单测试,显示如下为正确。
测试是否正确解析php,php的路径地址为/usr/local/apache2/htdocs/,新建一个1.php做测试;
“\n”的作用是回车,echo后面需要加分号;保存退出后,继续使用curl测试;
解析php出错,如下图,原因是修改完apache配置文件后,需要重启服务,执行命令: /usr/local/apache2/bin/apachectl graceful
重启之后恢复正常;
localhost相当于本地的域名,和本地环回地址和本地ip地址一样的效果;
curl http://192.168.20.20/1.php
也可以在网页输入http://192.168.20.20/1.php