zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    axios
    MySQL -- 书写规则(常数:字符串、日期、数字、 单引号的使用、半角空格)
    MySQL -- 图解:内连接、外连接、左(外)连接、右(外)连接、全连接
    Linux -- Linux下md5sum用法 (查看文件或字符串的md5值)
    Python3 -- Python获取昨天,今天,明天,本周,上周,本月,上月,本季,本年,去年时间
    Linux -- 执行脚本时&和&&
    Linux -- 定时任务 crontab 命令
    Python3 -- json格式 存储、读取文件
    Hive -- SQL 语法
    Hive -- 目录
  • 原文地址:https://www.cnblogs.com/ycj1295/p/13962953.html
Copyright © 2011-2022 走看看