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

  • 相关阅读:
    dotnet 控制台读写 Sqlite 提示 no such table 找不到文件
    dotnet 控制台读写 Sqlite 提示 no such table 找不到文件
    dotnet 控制台 Hangfire 后台定时任务
    dotnet 控制台 Hangfire 后台定时任务
    dotnet 获取指定进程的输入命令行
    dotnet 获取指定进程的输入命令行
    PHP sqrt() 函数
    PHP sinh() 函数
    PHP sin() 函数
    PHP round() 函数
  • 原文地址:https://www.cnblogs.com/ycj1295/p/13962953.html
Copyright © 2011-2022 走看看