Linux源码安装LAMP

来源:互联网 发布:休闲单机游戏推荐知乎 编辑:程序博客网 时间:2024/05/22 12:51

1. 什么是 LAMP?

  LAMP 指的是 Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指 MariaDB,数据库软件)和 PHP(有时也是指 PerlPython),一般用来建立 web 应用平台。

2. 下载源码包安装 LAMP:

  Linux 的安装就不介绍了,下面介绍 PHP, Mysql, Apache 的安装 (会用到解压命令, 详见 HP的博客之解压命令详解 ):

(0) 安装一些必需工具或者库    sudo yum install cmake gcc gcc-c++ libxml2-devel ncurses-devel perl-Data-Dumper boost boost-doc boost-devel(1) PHP官网下载php源码包    wget http://hk1.php.net/get/php-7.1.5.tar.gz/from/this/mirror(2) 解压下载的源码包至指定目录    sudo tar zxvf mirror -C /opt/(3) 进入php解压目录,安装php    cd /opt/php-7.1.5/    ./configure --prefix=/usr/local/php-7.1.5 --enable-fpm    sudo make && sudo make install(4) MySQL官网下载MySQL源码包    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz(5) 解压下载的源码包至指定目录    sudo tar zxvf mysql-5.7.18.tar.gz -C /opt/(6) 下载安装MySQL所需工具源码包,并解压    下载地址: http://download.csdn.net/detail/oscer2016/9854622      sudo tar zxvf boost_1_59_0.tar.gz -C /usr/local/boost/(7) 进入MySQL解压目录,安装MySQL(新版MySQL使用cmake进行编译)    cmake \    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \    -DMYSQL_DATADIR=/mydata/mysql/data \    -DSYSCONFDIR=/etc \    -DMYSQL_USER=mysql \    -DWITH_MYISAM_STORAGE_ENGINE=1 \    -DWITH_INNOBASE_STORAGE_ENGINE=1 \    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \    -DWITH_MEMORY_STORAGE_ENGINE=1 \    -DWITH_READLINE=1 \    -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \    -DMYSQL_TCP_PORT=3306 \    -DENABLED_LOCAL_INFILE=1 \    -DENABLE_DOWNLOADS=1 \    -DWITH_MEMORY_STORAGE_ENGINE=1 \    -DCHARSETS=all \    -DDOWNLOAD_BOOST=1 \    -DWITH_BOOST=/usr/local/boost/ \    -DDEFAULT_CHARSET=utf8 \    -DDEFAULT_COLLATION=utf8_general_ci \    -DWITH_DEBUG=0 \    -DMYSQL_MAINTAINER_MODE=0 \    -DWITH_SSL:STRING=bundled \    -DWITH_ZLIB:STRING=bundled    # 执行make命令安装MySQL    sudo make && sudo make install    如果是在服务器上安装,可能会出现以下错误:    c++: 编译器内部错误:已杀死(程序 cc1plus)    Please submit a full bug report,    with preprocessed source if appropriate.    See <http://bugzilla.redhat.com/bugzilla> for instructions.    make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] 错误 4    make[1]: *** [sql/CMakeFiles/sql.dir/all] 错误 2    make: *** [all] 错误 2    这是内存不足导致的,不要惊慌,解决方案详见: http://www.justwinit.cn/post/8677/    出现下面的错误是磁盘空间不足导致的(大约需要2G磁盘空间,删些文件留够空间即可):    CMake Error at libmysqld/cmake_install.cmake:36 (FILE):    file INSTALL cannot copy file "/opt/mysql-5.7.18/libmysqld/libmysqld.a" to    "/usr/local/mysql/lib/libmysqld.a".    Call Stack (most recent call first):    cmake_install.cmake:121 (INCLUDE)    make: *** [install] 错误 1(7) 下载Apache源码包及其所需工具源码包并解压安装    wget http://apache.fayea.com//httpd/httpd-2.4.25.tar.gz    sudo tar zxvf httpd-2.4.25.tar.gz    安装Apache会提示需要apr和apr-util,下载解压它们并移到指定文件夹:    wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz    wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz    sudo tar zxvf apr-1.5.2.tar.gz    sudo tar zxvf apr-util-1.5.4.tar.gz     mv apr-1.5.2 apr    mv apr-util-1.5.4 apr-util    mv apr apr-util httpd-2.4.25/srclib/    下载所需依赖pcre:     wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz     sudo tar zxvf pcre-8.40.tar.gz     cd pcre-8.40/     ./configure      sudo make && sudo make install    接下来开始安装Apache,进入Apache的解压目录,执行如下命令:    ./configure --prefix=/usr.local/apache -with-pcre=/usr/local/pcre-8.40/bin/pcre-config -with-included-apr    sudo make && sudo make install

至此,LAMP安装完成。

3. 使用LAMP:

(1) 启动Apache服务:    cd /usr/local/apache/bin    sudo ./apachectl -k start    出现如下错误:    /usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory    解决方法: http://blog.csdn.net/shanshu12/article/details/8003240(2) 开启防火墙    systemctl status firewalld    # 查看防火墙状态    systemctl start firewalld    # 开启防火墙状态    firewall-cmd --zone=public --add-port=80/tcp --permanent  # 开启80端口

这里写图片描述

(3) 访问自己的IP(例如我的是123.207.157.135),效果如下:

这里写图片描述

Apache服务启动, 停止,重启命令:
  /usr/local/apache/bin/apachectl start 启动
  /usr/local/apache/bin/apachectl stop 停止
  /usr/local/apache/bin/apachectl restart 重启

Note: 网页的默认目录在/usr/local/apache/htdocs, 将里面的 index.html 备份(mv index.html index.html.bak), 然后将自己写的网页放入此目录下, 默认访问index.html(可以将自己网站的首页命名为 index.html), 如果注册了域名,直接解析到此IP即可,效果如下:

这里写图片描述

Apache,MySQL配置文件:
  apache: /usr/local/apache/conf/httpd.conf(或者/etc/httpd/conf 目录下)
  mysql: /etc/my.cnf


Linux Red Hat系列发行版本电脑管理服务常用命令:

  service管理服务: 服务(apache | ssh | mysql) 启动(停止 | 重启 | 重载配置文件): service httpd (sshd | mysqld) start(stop | restart | reload)
  systemctl管理服务: 启动(停止 | 重启 | 重载配置文件) 服务(apache | ssh | mysql): systemctl start(stop | restart | reload) httpd (sshd | mysqld)