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

  二、安装

    下载地址:http://httpd.apache.org/

    [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 安装即可;

[root@yong ~]# cd /usr/local/src
[root@yong src]# wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
 

2、解压下载的文件

[root@yong src]# tar -zxvf mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
 

3、把解压完的数据移动到/usr/local/mysql

提醒注意:不用自己手动添加/mysql目录,移动的同时会把原目录改名的。

[root@yong src]# mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
 

4、建立mysql用户,禁止登录系统;

[root@yong src]# useradd -s /sbin/nologin mysql
 

5、初始化数据库,新建/data目录及/data/mysql子目录,并设置/data/mysql目录的所属主所属组为mysql用户;

[root@yong src]# cd /usr/local/mysql/
[root@yong mysql]# mkdir -p /data/mysql
[root@yong mysql]# chown -R mysql:mysql /data/mysql/
 
[root@yong mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
Installing MySQL system tables...
OK
Filling help tables...
OK
 

--user 定义数据库的所属主,--datadir 定义数据库的安装路径,建议放到大存储空间。看到两个"OK"说明执行正确,否则请仔细查看错误信息,查询哪里出了问题;

6、拷贝配置文件

[root@yong mysql]# cp support-files/my-large.cnf /etc/my.cnf
 

模板配置文件在/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、拷贝启动脚本文件并修改属性

[root@yong mysql]# cp support-files/mysql.server /etc/init.d/mysqld 
[root@yong mysql]# chmod 755 /etc/init.d/mysqld
 

8、修改启动脚本

[root@yong mysql]# vim /etc/init.d/mysqld
 

需要修改的地方有

"basedir=/usr/local/mysql"(mysql的安装目录)

"datadir=/data/mysql"(前面初始化数据库定义的目录)

9、把启动脚本加入系统服务项,并设定开机启动,启动mysql服务;

[root@yong mysql]# chkconfig --add mysqld
[root@yong mysql]# chkconfig mysqld on
[root@yong mysql]# service mysqld start
Starting MySQL..                                           [  OK  ]
 

启动mysqld服务时如出现以下的错误,

[root@yong mysql]# service mysqld start
/etc/init.d/mysqld: line 260: my_print_defaults: command not found
/etc/init.d/mysqld: line 263: my_print_defaults: command not found
Starting MySQL ERROR! Couldn't find MySQL manager (./bin/mysqlmanager) or server (./bin/mysqld_safe)
 

出错的原因是解压出来的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

[root@localhost mysql]# /etc/init.d/mysqld start
Starting MySQL.... SUCCESS!
 

10、查看mysqld是否启动

[root@localhost mysql]# ps aux |grep mysqld
root      1341  0.0  0.1   6680  1328 pts/0    S    20:22   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid
mysql     1456  0.3  4.2 381608 43504 pts/0    Sl   20:22   0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306
 

wKioL1U_UA3SgWIJAAMT7z8DejU561.jpg

wKiom1U_TqqwL56sAAD0gKrcF2c794.jpg

/usr/local/mysql/bin 目录下的mysql为可执行命令,执行mysql开启客户端,测试mysql是否工作;

wKiom1U_TyCzNqjlAALFzieI3A8341.jpg

 

 

安装apache

1、下载httpd包到/usr/local/src/目录下;

[root@localhost src]# wget  
http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz
 

2、解压httpd源码包

[root@localhost src]# tar -zxvf httpd-2.2.16.tar.gz
 

3、配置编译的参数

[root@localhost src]# cd httpd-2.2.16
[root@localhost httpd-2.2.16]# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so
 

--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就可以了。

[root@localhost apr]# yum install -y gcc
[root@localhost bin]# yum install -y pcre pcre-devel apr apr-devel
 

4、make编译,编译完成后使用echo $? 查看make命令是否执行成功,成功返回值为0,不成功则为非0;

[root@localhost apr]# make
[root@localhost apr]# echo $?
0
 

5、make install安装,完成后同样使用echo $? 查看是否执行成功,成功返回值为0,不成功则为非0;

[root@localhost apr]# make install
[root@localhost apr]# echo $?
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 查看这个文件,列出来编译的时候的选项内容;

[root@localhost httpd-2.2.29]# cat /usr/local/apache2/build/config.nice 
#! /bin/sh
#
# Created by configure
"./configure" 
"--prefix=/usr/local/apache2" 
"--enable-mods-shared=most" 
"--enable-so" 
"$@"
 

 

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参数一样,区别在于它不会中断正在处理的连接,也不会关闭日志,推荐使用。

[root@localhost httpd-2.2.29]# /usr/local/apache2/bin/apachectl graceful
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
httpd not running, trying to start
 

启动时会出现几行类似错误的信息,是域名解析问题,需要在下面的配置文件修改:vim /usr/local/apach2/conf/http.conf

找到这一行 #ServerName www.example.com:80

这一项去掉#号,保存退出。再次启动就不会报错;

启动apache后使用netstat -nlp |grep httpd    查看httpd 80端口是否启用

wKioL1U_U0iTjAkGAACSyTwccq8401.jpg

使用curl localhost    测试网页是否正常;

[root@localhost httpd-2.2.29]# curl localhost
<html><body><h1>It works!</h1></body></html>
 

在IE浏览器输入本地ip地址也可以测试网页是否正常;

wKioL1U_U3DAgeH_AADTtK_E8Oo461.jpg

PHP安装

PHP原始为 Personal Home Page的缩写,现已经正式更名为 "PHP: Hypertext Preprocessor"(超文本预处理) 的缩写。

PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。

1、下载php源码包,下载后解压包

[root@yong ~]# cd /usr/local/src/
[root@yong src]# wget http://cn2.php.net/distributions/php-5.3.28.tar.gz
[root@yong src]# tar -zxvf php-5.3.28.tar.gz
 

2、编译php源码包,配置选项参数

[root@yong php-5.3.28]# ./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/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
 

执行完成后最后几行报错,提示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

[root@localhost php-5.3.28]# yum install -y 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包

[root@yong php-5.3.28]# yum install -y libmcrypt-devel
已加载插件:fastestmirror
设置安装进程
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.pubyun.com
 * updates: mirrors.pubyun.com
No package libmcrypt-devel available.
错误:无须任何处理
 

因为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 终于不再出现错误提示,出现了欢迎使用界面。

wKiom1U_VJLyuFnZAAI1iK3oYG4454.jpg

spacer.gif3、make编译,编译完成后使用echo $? 查看make命令是否执行成功,成功返回值为0,不成功则为非0;

[root@yong php-5.3.28]# make
[root@yong php-5.3.28]# echo $?
0
 

3、make install安装,完成后使用echo $? 查看make install命令是否执行成功,成功返回值为0,不成功则为非0;

[root@yong php-5.3.28]# make install
[root@yong php-5.3.28]# echo $?
0
 

apache结合php测试环境

Apache的主配置文件为:/usr/local/apache2/conf/httpd.conf

需要编辑配置文件

[root@yong php-5.3.28]# vim /usr/local/apache2/conf/httpd.conf
 

找到这一行:AddType application/x-gzip .gz .tgz

在该行下面添加:AddType application/x-httpd-php .php 

wKiom1U_VX6xINk9AACibtQC89g929.jpgspacer.gif

找到:

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

修改中间的行改为:

<IfModule dir_module>

    DirectoryIndex index.html index.htm index.php

</IfModule>

wKioL1U_VuWzEF-DAAB4ZRg9S-c754.jpg

找到:#ServerName www.example.com:80

修改为:ServerName localhost:80

wKioL1U_VuXxpVu3AAAlpkhNmu0734.jpg

spacer.gif

测试LAMP是否成功

启动apache之前先检验配置文件是否正确,正确显示Syntax OK,如果有错误,需要修改httpd.conf配置文件;

[root@yong php-5.3.28]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[root@yong php-5.3.28]# /usr/local/apache2/bin/apachectl start
 

查看apache是否启动

[root@yong php-5.3.28]# netstat -lnp |grep httpd
tcp        0      0 :::80           :::*             LISTEN      3802/httpd
 

 spacer.gif

使用curl命令简单测试,显示如下为正确。

[root@yong php-5.3.28]# curl localhost
<html><body><h1>It works!</h1></body></html>
 

测试是否正确解析php,php的路径地址为/usr/local/apache2/htdocs/,新建一个1.php做测试;

[root@yong php-5.3.28]# vim /usr/local/apache2/htdocs/1.php
<?php
        echo "php解析正常ok";
        echo "
";
?>
 

" "的作用是回车,echo后面需要加分号;保存退出后,继续使用curl测试;

[root@yong php-5.3.28]# curl localhost/1.php
php解析正常
 

spacer.gif

解析php出错,如下图,原因是修改完apache配置文件后,需要重启服务,执行命令: /usr/local/apache2/bin/apachectl graceful

spacer.gifwKioL1U_WDnRS2ghAACACFep8o4324.jpg

重启之后恢复正常;

[root@localhost php-5.3.28]# curl localhost/1.php
php解析正常ok
 

localhost相当于本地的域名,和本地环回地址和本地ip地址一样的效果;

curl http://127.0.0.1/1.php

curl http://192.168.20.20/1.php

也可以在网页输入http://192.168.20.20/1.php

wKiom1U_Vx-Sdmr0AADJOZZaBiY434.jpg

原文地址:https://www.cnblogs.com/ycj1295/p/13962953.html