源码安装LAMP架构!
Posted 龙少。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码安装LAMP架构!相关的知识,希望对你有一定的参考价值。
源码安装LAMP架构
一.LAMP架构简介
1.LAMP平台概述
LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境
LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,mysql数据库服务器,php(或perl,Python)网页编程语言
2.各服务的主要作用
Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性。
Apache:作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容;静态页面服务。
MySQL:作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息;数据库。
PHP/Perl/Python:作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到html中,尤其适合于Web应用开发。
二.源码安装httpd服务器
1.下载上传tar安装包解压
[root@localhost ~]# cd /opt
[root@localhost opt]# ls
rh
#这里上传下软件安装包
[root@localhost opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 rh
[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2
[root@localhost opt]# ls #查看解压结果
apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr #移动两个文件放到httpd-2.4.29/srclib库中并且重命名
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
[root@localhost opt]# cd httpd-2.4.29/srclib/
[root@localhost srclib]# ls #查看
apr apr-util Makefile.in
2.安装其他依赖环境
[root@localhost opt]# yum -y install \\
> gcc \\
> gcc-c++ \\
> make \\
> pcre \\
> pcre-devel \\
> expat-devel \\
> perl
3.编译安装
[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure \\
> --prefix=/usr/local/httpd \\ #指定 httpd 服务程序的安装路径
> --enable-so \\ #启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
> --enable-rewrite \\ #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
> --enable-charset-lite \\ #启动字符集支持,以便支持使用各种字符集编码的页面
> --enable-cgi #启用CGI(通用网关接口)脚本程序支持,便于增强网站的外部扩展应用访问能力
[root@localhost httpd-2.4.29]# make && make install
4.优化配置文件路径创建软链接
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@localhost httpd-2.4.29]# cd
[root@localhost ~]# httpd
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
httpd (pid 122836) already running
[root@localhost ~]#
5.设置便于service管理
[root@localhost ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost ~]# vim /etc/init.d/httpd
添加让系统识别httpd
[root@localhost ~]# chkconfig --add httpd #将httpd加入系统管理器
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
[root@localhost ~]# httpd -t #检查语法
Syntax OK
6.启动服务并查看服务状态
[root@localhost ~]# service httpd start
httpd (pid 122836) already running
[root@localhost ~]# netstat -antp | grep 80
tcp6 0 0 :::80 :::* LISTEN 122836/httpd
7.查看网页
[root@localhost ~]# curl 192.168.206.7
<html><body><h1>It works!</h1></body></html>
[root@localhost ~]#
三.源码安装MySQL数据库
1.安装依赖环境
[root@localhost ~]# yum -y install \\
> gcc \\ #编译语言,翻译官
> gcc-c++ \\
> ncurses \\ #字符终端下图形互动功能的动态库
> ncurses-devel \\ #ncurses开发包
> bison \\ #语法分析器
> cmake \\ #mysql需要用cmake编译安装
> autoconf #是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的shell脚本工具。
2.下载解压安装包
[root@localhost opt]# ls
apr-1.6.2.tar.gz httpd-2.4.29 rh
apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
[root@localhost opt]# ls
apr-1.6.2.tar.gz httpd-2.4.29 mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 rh
[root@localhost opt]# tar xzvf mysql-5.6.26.tar.gz
3.cmake配置
[root@localhost mysql-5.6.26]# cmake \\
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\ #指定文件路径
> -DDEFAULT_CHARSET=utf8 \\ #指定默认使用的字符集编码,如 utf-8
> -DDEFAULT_COLLATION=utf8_general_ci \\ #指定默认使用的字符集校对规则
> -DEXTRA_CHARSETS=all \\ #指定支持其他字符集编码
> -DSYSCONFIDIR=/etc \\ #/etc/mysql --->系统中有一个默认的配置/etc/my.cnf
> -DMYSQL_DATADIR=/home/mysql/ \\ #数据文件
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock #指定连接数据库的通讯文件(启动数据库的时候会生成)
4.make && make install安装
[root@localhost mysql-5.6.26]# make && make install
5.复制配置文件模板
[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@localhost mysql-5.6.26]#
6.复制启动脚本并给权限
[root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# chmod 755 /etc/init.d/mysqld #给执行权限
[root@localhost mysql-5.6.26]# ll /etc/init.d/mysqld #查看权限
-rwxr-xr-x. 1 root root 10870 7月 2 17:41 /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld
[root@localhost mysql-5.6.26]# chkconfig mysqld --level 35 on #设置开机自启
7.创建管理用户并给相应权限
[root@localhost mysql-5.6.26]# useradd -s /sbin/nologin mysql #创建管理用户
[root@localhost mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/ #给管理权限
[root@localhost mysql-5.6.26]# chown mysql:mysql /etc/my.cnf #更改管理和组
[root@localhost mysql-5.6.26]#
8.设置环境变量,使得mysql命令能够被系统识别
[root@localhost mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.6.26]# source /etc/profile
[root@localhost mysql-5.6.26]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
[root@localhost mysql-5.6.26]#
9.初始化数据库
[root@localhost mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \\
> --user=mysql \\
> --ldata=/var/lib/mysql \\
> --basedir=/usr/local/mysql \\
> --datadir=/home/mysql
[root@localhost mysql-5.6.26]# vim /etc/init.d/mysqld
10.启动服务
[root@localhost mysql-5.6.26]# service mysqld start
Starting MySQL.. SUCCESS!
[root@localhost mysql-5.6.26]# netstat -anpt | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 16431/mysqld
11.给root账号设置密码
[root@localhost mysql-5.6.26]# mysqladmin -u root -p password "qwer1234"
Enter password:
Warning: Using a password on the command line interface can be insecure.
[root@localhost mysql-5.6.26]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 2
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.01 sec)
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
28 rows in set (0.00 sec)
mysql> quit
Bye
[root@localhost mysql-5.6.26]#
四.安装PHP
1.安装依赖环境
[root@localhost mysql-5.6.26]# yum -y install \\
> gd \\ #图像化处理的库
> libpng \\ #png格式图片的库
> libpng-devel \\
> pcre \\ #PCRE库支持正则表达式
> pcre-devel \\ #pcre-devel是使用PCRE做二次开发时所需要的开发库,也是编译安装需要的
> libxml2-devel \\ #解析xml标记语言的库
> libjpeg-devel #jpeg格式图片的库
2.上传软件包解压
[root@localhost ~]# cd /opt
[root@localhost opt]# ls
apr-1.6.2.tar.gz httpd-2.4.29.tar.bz2 php-5.6.11.tar.bz2
apr-util-1.6.0.tar.gz mysql-5.6.26 rh
httpd-2.4.29 mysql-5.6.26.tar.gz
[root@localhost opt]# tar xjvf php-5.6.11.tar.bz2
3.configure配置
[root@localhost php-5.6.11]# ./configure \\
> --prefix=/usr/local/php5 \\
> --with-gd \\ #激活gd 库的支持
> --with-zlib \\ #支持zlib功能,提供数据压缩功能的函式库
> --with-apxs2=/usr/local/httpd/bin/apxs \\ #指定httpd服务提供的apxs模块支持程序的文件位置
> --with-mysql=/usr/local/mysql \\ #关联数据库
> --with-config-file-path=/usr/local/php5 \\ #指定配置文件
> --enable-mbstring #启用多字节字符串功能,以便支持中文等代码
4.make && make install 安装
[root@localhost php-5.6.11]# make && make install
5.优化路径创建软链接
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/
6.修改Apache配置文件让Apache支持PHP
[root@localhost php-5.6.11]# vim /etc/httpd.conf
网站首页支持格式
让Apache可以支持php的网页文件
查看确认php5模块是否存在
7.创建、编辑php页面文件
[root@localhost php-5.6.11]# vim /usr/local/httpd/htdocs/index.php
8.重新启动服务
[root@localhost php-5.6.11]# service httpd stop
[root@localhost php-5.6.11]# service httpd start
9.网页测试
五.安装论坛Discuz!
1.新建数据库
[root@localhost php-5.6.11]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 4
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> create database bbs; #新建一个bbs的数据库
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bbs |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.01 sec)
mysql> grant all on bbs.* to 'bbsuser'@'%' identified by 'qwer1234';
Query OK, 0 rows affected (0.00 sec) #把bbs数据库里面所有表的权限授予给bbsuser,并设置密码 #所有访问来源/渠道
mysql> grant all on bbs.* to 'bbsuser'@'localhost' identified by 'qwer1234';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges以上是关于源码安装LAMP架构!的主要内容,如果未能解决你的问题,请参考以下文章