Linux--源码搭建LAMP架构
一:LAMP解析
LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:
- L:Linux,操作系统
- A:Apache,网页服务器
- M:MariaDB或MySQL,数据库管理系统(或者数据库服务器)
- P:PHP、Perl或Python,脚本语言
相关源码包:链接: 源码包.
提取码:n4p8
二:编译安装httpd服务器
2.1:编译安装的优点
- 具有较大的自由度,功能可定制
- 可及时获得最新的软件版本
- 普遍适用于大多数Linux版本,便于移植使用
2.2:安装步骤
2.2.1:解压源码包
[root@promote opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 rh
[root@promote opt]# tar xzvf apr-1.6.2.tar.gz
[root@promote opt]# tar xzvf apr-util-1.6.0.tar.gz
[root@promote opt]# tar xjvf httpd-2.4.29.tar.bz2
[root@promote opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@promote opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
2.2.2:安装编译器和Apache所需的其他软件包
[root@promote opt]# yum -y install \
> gcc \
> gcc-c++ \
> make \
> pcre-devel \ #让网站支持正则表达式
> expat-devel \ #支持解析xml格式
> perl #支持Perl语言
2.2.3:指定安装路径
[root@promote opt]# cd httpd-2.4.29/
[root@promote httpd-2.4.29]# ls
ABOUT_APACHE ap.d CHANGES docs httpd.spec libhttpd.dep Makefile.win README srclib
acinclude.m4 build CMakeLists.txt emacs-style include libhttpd.dsp modules README.cmake support
Apache-apr2.dsw BuildAll.dsp config.layout httpd.dep INSTALL libhttpd.mak NOTICE README.platforms test
Apache.dsw BuildBin.dsp configure httpd.dsp InstallBin.dsp LICENSE NWGNUmakefile ROADMAP VERSIONING
apache_probes.d buildconf configure.in httpd.mak LAYOUT Makefile.in os server
[root@promote httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \ #指定安装路径
> --enable-so \ #开启核心功能模块
> --enable-rewrite \ #开启重写功能
> --enable-charset-lite \ #开启字符集
> --enable-cgi #开启通用网关接口
2.2.4:编译安装
[root@promote httpd-2.4.29]# make
[root@promote httpd-2.4.29]# make install
2.2.5:优化执行路径
[root@promote httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin #将可执行的命令链接到环境变量中,便于调用
[root@promote httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/ #建立主配置文件的软链接
[root@promote httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd #将服务的启动脚本复制到/etc/init.d初始化文件中,便于service管理
2.2.6:修改主配置文件
[root@promote httpd-2.4.29]# vim /etc/httpd.conf
Listen 192.168.209.134:80 #开启IPV4监听,更改监听地址为本主机
#Listen 80 #关闭IPV6监听
ServerName www.yun.com:80 #如果想要解析域名,需开启此配置,并更改域名名称
2.2.7:关闭防火墙开启服务
[root@promote httpd-2.4.29]# iptables -F
[root@promote httpd-2.4.29]# setenforce 0
[root@promote httpd-2.4.29]# service httpd start
2.2.8:验证Apache服务
三:编译安装MySQL服务器
3.1:MySQL概述
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
3.2:安装步骤
3.2.1:解压源码包
[root@promote opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29 httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz rh
[root@promote opt]# tar xzvf mysql-5.6.26.tar.gz
3.2.2:安装MySQL环境所需的软件包
[root@promote opt]# yum install ncurses-devel autoconf cmake -y
3.2.3:指定安装路径
[root@promote mysql-5.6.26]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=all \
> -DSYSCONFIDIR=/etc \
> -DMYSQL_DATADIR=/home/mysql/ \
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
3.2.4:编译安装
[root@promote mysql-5.6.26]# make
[root@promote mysql-5.6.26]# make install
3.2.5:优化执行路径
[root@promote mysql-5.6.26]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? yes
[root@promote mysql-5.6.26]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@promote mysql-5.6.26]# chmod 755 /etc/init.d/mysqld
[root@promote mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld
[root@promote mysql-5.6.26]# chkconfig mysqld --level 35 on
[root@promote mysql-5.6.26]# ln -s /usr/local/mysql/bin/* /usr/local/bin
3.2.6:添加用户
[root@promote mysql-5.6.26]# useradd -s /sbin/nologin mysql
[root@promote mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/
3.2.7:初始化数据库
[root@promote mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql/ \
> --datadir=/home/mysql
3.2.8:编辑启动脚本
[root@promote mysql-5.6.26]# vim /etc/init.d/mysqld
.......
basedir=/usr/local/mysql
datadir=/home/mysql
.........
3.2.9:启动服务并设置用户密码
[root@promote mysql-5.6.26]# service mysqld start
Starting MySQL.. SUCCESS!
[root@promote mysql-5.6.26]# mysqladmin -u root -p password "123123"
Enter password:
Warning: Using a password on the command line interface can be insecure.
3.2.10:登录验证
[root@promote mysql-5.6.26]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.26 Source distribution
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.02 sec)
mysql>
四:编译安装PHP服务器
4.1:PHP概述
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
4.2:安装步骤
4.2.1:解压源码包
[root@promote opt]# ls
apr-1.6.2.tar.gz httpd-2.4.29 mysql-5.6.26 php-5.6.11.tar.bz2
apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz rh
[root@promote opt]# tar xjvf php-5.6.11.tar.bz2
4.2.2:安装PHP环境所需的软件包
[root@promote php-5.6.11]# yum -y install \
> gd \
> libpng \
> libpng-devel \
> pcre \
> pcre-devel \
> libxml2-decel \
> libjpeg-devel
4.2.3:指定安装路径
[root@promote php-5.6.11]# ./configure \
> --prefix=/usr/local/php5 \
> --with-gd \
> --with-zlib \
> --with-apxs2=/usr/local/httpd/bin/apxs \
> --with-mysql=/usr/local/mysql/ \
> --with-config-file-path=/usr/local/php5 \
> --enable-mbstring
4.2.4:编译安装
[root@promote php-5.6.11]# make
[root@promote php-5.6.11]# make install
4.2.4:优化执行路径
[root@promote php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini #移动启动脚本
[root@promote php-5.6.11]# cd /usr/local/php5/
[root@promote php5]# ls
bin etc include lib php php.ini
[root@promote php5]# ln -s /usr/local/php5/bin/* /usr/local/bin #建立可执行命令的软链接
4.2.5:更改Apache配置文件
[root@promote php5]# vim /etc/httpd.conf
394 AddType application/x-httpd-php .php #写入此行
395 AddType application/x-httpd-php-source .phps #写入此行
256 DirectoryIndex index.php index.html #修改此行
4.2.6:修改网站首页文件
[root@promote php5]# cd /usr/local/httpd/htdocs/
[root@promote htdocs]# ls
index.html
[root@promote htdocs]# vim index.html
##删除原有内容,添加以下字段
<?php
phpinfo();
?>
[root@promote htdocs]# mv index.html index.php
[root@promote htdocs]# ls
index.php
4.2.7:验证PHP服务
网址中输入IP地址:192.168.209.134,出现以下界面