zoukankan      html  css  js  c++  java
  • LAMP环境源码编译安装过程

    LAMP环境源码编译安装过程

    一、Apache的安装

    1.1、apache软件包及依赖包准备

     httpd-2.4.29.tar.bz2       apr-1.6.3.tar.gz      apr-util-1.6.1.tar.bz2        pcre-8.10.tar.gz   这三个依赖包安装时最好指定安装路径,在安装httpd的时候需要指定依赖包的安装位置。

    这些软件可以下载到/usr/local/src.解压之后在进行安装。安装路径一般放在/usr/local/下。

    1.2、安装环境准备。

    命令:yum -y install gcc gcc-c++ make 

    安装依赖包:

    apr-1.6.3.tar.gz

    1 [root@server1 src]# tar -xvpzf apr-1.6.3.tar.gz
    2 [root@server1 src]# cd apr-1.6.3/ 3 [root@server1 apr-1.6.3]# ./configure --prefix=/usr/local/apr && make && make install 

    apr-util-1.6.1.tar.bz2

    1 [root@server1 src]# tar -xvpjf apr-util-1.6.1.tar.bz2
    2 [root@server1 src]# cd apr-util-1.6.1/
    3 [root@server1 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util && make && make install 

    pcre-8.10.tar.gz

    1 [root@server1 src]# tar -xvpzf pcre-8.10.tar.gz2 [root@server1 src]# cd pcre-8.10/
    3 [root@server1 pcre-8.10]# ./configure --prefix=/usr/local/pcre && make && make install

    1.3、apache安装过程

    1 [root@server1 httpd-2.4.29]# tar -xvpjf httpd-2.4.29.tar.bz2
    2 [root@server1 src]# cd httpd-2.4.29/
    3 [root@server1 httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre  && make && make install

    1.4、将apache的命令放到环境变量中,是的apache的命令可以直接执行,复制apache的控制脚本,使得控制命令常规化。修改控制脚本文件,使其可以使用。

    1 ln -s /usr/local/httpd/bin/* /usr/sbin/                        #将安装路径/usr/local/httpd/bin/下的所有命令创建一个软链接到环境变量/usr/sbin/
    2 cp -a  /usr/local/httpd/bin/apachectl /etc/init.d/httpd        #将脚本控制文件拷贝到/etc/init.d/下并命名为httpd,一般我们可以通过/etc/init.d/httpd restart/start/stop来控制httpd服务的重启等。
    3 chmod +x /etc/init.d/httpd #赋予执行权限
    4 vim /etc/init.d/httpd

    1.5、修改apache主配置文件/usr/local/httpd/conf/httpd.conf。

    1.6、启动httpd服务,并配置为开机启动。

    1.7、查看httpd服务是否已经启动。

    httpd服务正在运行!Apache安装完成!

    1.8、客户端测试访问html页面。

    在网页根目录下创建一个index.html的主页文件。

    [root@server1 httpd-2.4.29]# cat <<END> /usr/local/httpd/htdocs/index.html
    > <font color=red><h1>欢迎来到刺激战场,飞机就要起飞了,请准备。
    > <font color=blue><h1>哎呀妈呀!落地成盒了!
    > END
    [root@server1 httpd-2.4.29]# 

    以上命令是通过输出重定向和输入追加重定向的方式将html脚本语言写入到index.html文件中。

    客户端访问网页:

    二、myql安装过程

     2.1、准备环境和安装依赖包

    命令:

    yum -y install cmake make gcc gcc-c++ perl ncurses-devel openssl-devel bison-devel libaio libaio-devel

      mysql源码包下载地址:

    https://downloads.mysql.com/archives/get/file/mysql-5.7.27.tar.gz

    2.2、编译安装mysql

      现将下载好的mysql源码包上传到linux服务器,或者直接用wget进行下载。

    命令:

    wget https://downloads.mysql.com/archives/get/file/mysql-5.7.27.tar.gz

    我一般将安装包下载到/usr/lcoal/src/目录中。

      源码包解压:

    命令:

    tar -xf mysql-5.7.27.tar.gz

      开始编译安装

    编译命令:

    1 [root@node3 src]# cd mysql-5.7.27/
    2 [root@node3 mysql-5.7.27]# 
    3 [root@node3 mysql-5.7.27]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
    4 [root@node3 mysql-5.7.27]# 
    5 [root@node3 mysql-5.7.27]# 
    6 [root@node3 mysql-5.7.27]# 
    7 [root@node3 mysql-5.7.27]# make && make install
    8 [root@node3 mysql-5.7.27]# 

    创建运行mysql的用户

    命令:

    1 [root@node3 local]# useradd mysql -s /sbin/nologin                       #创建用户mysql,并制定shell为/sbin/nologin,这样mysql这个用户就不能被用于登录linux系统
    2 [root@node3 local]# id mysql                          #查看mysql用户信息
    3 uid=1001(mysql) gid=1001(mysql) groups=1001(mysql)
    4 [root@node3 local]# chown -R mysql:mysql mysql/               #因为要用mysql这个用户运行,所以要将/usr/local/mysql的所属组和所属主改为mysql用户,mysql才有写的权限

     创建logs,pids,tmp目录,用于存放日志文件,进程id文件。

    命令:mkdir /usr/local/mysql/{logs,pids,tmp}

    创建编辑配置文件/etc/my.cnf

    为了能够直接调用mysql命令,我们需要将/usr/local/mysql/bin添加到环境变量中。编辑/etc/profile,添加“export PATH=/usr/local/mysql/bin:$PATH

     数据库初始化

    命令:/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/usr/local/mysql/tmp

    /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/usr/local/mysql/tmp

    初始化完成后,最后一行会提示mysql数据库root账户的初始密码。请注意保存。也可以在mysql日志文件中查找。这里日志文件是/usr/local/mysql/logs/error.log。使用命令cat /usr/local/mysql/logs/error.log |grep password。可以找到包含密码的那一段。密码是一段乱码,无规律的。

     

     启动脚本配置,开启mysql。

    命令:mysql -uroot -pdYqXgQjrP0?#

    mysql -uroot -pdYqXgQjrP0?#

    修改root密码,因为这个默认密码太过复杂,无法记忆,需要将密码改为自己熟悉的密码。

    命令:mysqladmin -uroot -pdYqXgQjrP0?# password "123456"

    mysqladmin -uroot -pdYqXgQjrP0?# password "123456" 

     四、安装时遇到的问题

    4.1、cmake编译时报以下错误

     问题描述:高版本mysql需要boots库的安装才可以正常运行

    解决办法是:
    1.在/usr/local下创建一个名为boost的文件夹
        mkdir -p /usr/local/boost
    2.进入这个新创建的文件夹然后下载boost
        wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
    3.解压

        tar -xvzf boost_1_59_0.tar.gz

      注意:解压时会会有个子目录boost,需要将子目录boost中的内容拷贝到/usr/local/boost/,不然你解压后的内容在/usr/local/boost/boost/目录下,这样你在下面的需要将“-DWITH_BOOST=/usr/local/boost”改为“-DWITH_BOOST=/usr/local/boost/boost”

    4.编译安装时加上"-DWITH_BOOST=/usr/local/boost"。

      这样编译时就不会报这个错了。

    编译命令:

     

     1 [root@node3 src]# 
     2 [root@node3 src]# cd mysql-5.7.27/
     3 [root@node3 mysql-5.7.27]# 
     4 [root@node3 mysql-5.7.27]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
     5 [root@node3 mysql-5.7.27]# 
     6 [root@node3 mysql-5.7.27]# 
     7 [root@node3 mysql-5.7.27]# 
     8 [root@node3 mysql-5.7.27]# make && make install
     9 [root@node3 mysql-5.7.27]# 
    10 [root@node3 mysql-5.7.27]# 
    11 [root@node3 mysql-5.7.27]# 
    12 [root@node3 mysql-5.7.27]# 

     命令中的红色字体就是解决这个报错的关键。但是必须要有这个目录/usr/local/boost的存在。

     

     

     

  • 相关阅读:
    KMP
    Trie 树
    Miller-Rabin质数测试
    快速幂
    Matlab 对图片的二值化处理
    huffman tree
    hdu5512-Pagodas
    迷宫
    poj2488-A Knight's Journey【DFS】
    linux操作
  • 原文地址:https://www.cnblogs.com/mython/p/10845296.html
Copyright © 2011-2022 走看看