LAMP架构搭建和disuz论坛搭建
LAMP架构搭建和disuz论坛搭建
LAMP架构搭建和disuz论坛搭建
LAMP架构搭建和disuz论坛搭建
LAMP组成: Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
这里我们使用的是Linux+Apache+MySQL+PHP
Apache
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
------下面两个插件是httpd2.4以后的版本所需要的----------
wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz
下载地址:http://httpd.apache.org/download.cgi
安装下面的三个必须安装的编译语言工具gcc、gcc-c++、make;pcre-devel是在安装过程出现的错误
要安装这个开发包
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel
Apache的压缩包可以使用winscp工具上传也可以通过共享文件的形式访问
首先把httpd解压,然后
下载上面两个软件解压后复制到httpd的srclib解压目录中(不带版本号)
cp -r apr-1.5.2/ httpd-2.4.23/srclib/apr
cp -r apr-util-1.5.4/ httpd-2.4.23/srclib/apr-util
基本配置:
[[email protected] ~]# mount /dev/cdrom /mnt/ 挂在光盘到/mnt目录
mount: block device /dev/sr0 is write-protected, mounting read-only
要使用源代码安装,需要搭建yum仓库
[[email protected] Apache]# ls
Apache-conf.zip httpd-2.4.25.tar.gz
apache安装(httpd).txt rhel7-vdir.txt vhost-端口.txt
apr-1.5.2.tar.gz rhel7-vhost.txt vhost(基于端口号).txt
apr-util-1.5.4.tar.gz vdir.txt vhost(基于域名).txt
awstats-7.3.tar.gz vdir(有注释).txt vhost-域名.txt
[[email protected] Apache]# tar xzvf httpd-2.4.25.tar.gz -C /opt/ 将解压的文件放到/opt目录
[[email protected] Apache]# tar xzvf apr-1.5.2.tar.gz -C /opt/
[[email protected] Apache]# tar -xzvf apr-util-1.5.4.tar.gz -C /opt/
[[email protected] Apache]# cd /opt/
[[email protected] opt]# ls
apr-1.5.2 apr-util-1.5.4 httpd-2.4.25 nginx-1.5.10 rh
[[email protected] opt]# cp -r apr-1.5.2/ httpd-2.4.25/srclib/apr
[[email protected] opt]# cp -r apr-util-1.5.4/ httpd-2.4.25/srclib/apr-util
[[email protected] opt]# cd /opt/httpd-2.4.25/ cd到Apache的安装目录
[[email protected] httpd-2.4.25]#./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi
各个参数的解释:
--prefix= //来指定安装路径
--enable-so //该参数表示支持用mod_so模块提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中动态加载某个模块。让Apache可以支持DSO模式
--enable-rewrite //支持 URL重写
--enable-mods-shared=most //选项:告诉编译器将所有标准模块都动态编译为DSO模块。
--with-mpm=worker // 让apache以worker方式运行
--with-mpm=worker //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同的默认模式.
--disable-cgid //禁止用一个外部 CGI守护进程执行CGI脚本
--disable-cgi //禁止编译 CGI版本的PHP
[[email protected] httpd-2.4.25]# make
[[email protected] httpd-2.4.25]# make install
[[email protected] httpd-2.4.25]# ln -s /usr/local/apache/bin/* /usr/local/bin/ 做软连接,让系统识别装的命令
----------使程序可以使用service管理-----------
"service管理的命令都在/etc/init.d/这个目录下的"
[[email protected] httpd-2.4.25]# grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd
[[email protected] httpd-2.4.25]# vi /etc/init.d/httpd 打开这个文件,在开头加入以下命令:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server.
[[email protected] httpd-2.4.25]# chmod +x /etc/init.d/httpd 给脚本加可执行程序
[[email protected] httpd-2.4.25]# chkconfig --add httpd 加到service管理器。
[[email protected] httpd-2.4.25]# ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf 将配置文件链接到/ etc目录
编辑配置文件:
[[email protected] httpd-2.4.25]# vi /etc/httpd.conf
ServerName www.example.com:80 前面的#号去掉即可, “:”是指可以改成你的IP地址
[[email protected] httpd-2.4.25]# service httpd start 启动Apache
[[email protected] httpd-2.4.25]# netstat -anpt | grep http 查看80端口是否在工作
tcp 0 0 :::80 :::* LISTEN 30979/httpd
[[email protected] httpd-2.4.25]# service iptables stop 关闭防火墙,(临时关闭)也可以调整防火墙的规则
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
[[email protected] httpd-2.4.25]# setenforce 0 该方式是临时关闭
修改/etc/sysconfig/selinux,把里边的一行改为 SELINUX=disabled这样就是永久关闭
[[email protected] apache]# cat htdocs/index.html 默认的测试页
查看测试页:搭建好的Apache没有做任何配置
Mysql
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
[[email protected] ~]# mount /dev/cdrom /mnt/ 挂在光盘到/mnt目录
mount: block device /dev/sr0 is write-protected, mounting read-only
[[email protected] mysql-5.6.26]# yum install -y ncurses-devel cmake
[[email protected] mysql]# cd /root/mysql/ 移动到MySQL的安装包目录
[[email protected] mysql]# ls
mysql-5.6.26.tar.gz mysql5.6安装 - RHEL7.txt mysql5.6安装.txt mysql.txt
[[email protected] mysql]# tar xzvf mysql-5.6.26.tar.gz -C /opt/ 解压到/opt目录、
[[email protected] mysql]# cd /opt/mysql-5.6.26/
[[email protected] mysql-5.6.26]# useradd mysql -s /sbin/nologin
[[email protected] mysql-5.6.26]# mkdir -p /usr/local/mysql
[[email protected] mysql-5.6.26]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled
[[email protected] mysql-5.6.26]# make
[[email protected] mysql-5.6.26]# make install
[[email protected] mysql-5.6.26]# chown -R mysql.mysql /usr/local/mysql
[[email protected] mysql-5.6.26]# export PATH=$PATH:/usr/local/mysql/bin/ //初始化环境变量(临时生效)
[[email protected] mysql-5.6.26]# vi /root/.bashrc 想要开机自运行需加一下命令:最后一行加入
export PATH=$PATH:/usr/local/mysql/bin/
[[email protected] mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf //建立配置文件
cp:是否覆盖"/etc/my.cnf"?y
[[email protected] mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld //添加系统服务,将mysql.server脚本文件复制到/etc/init.d/目录下,改名为mysqld,然后设置执行权限
[[email protected] mysql-5.6.26]# chmod 755 /etc/init.d/mysqld
[[email protected] mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld //添加/etc/init.d/myspld到chkconfig里,用service命令来管理(service mysql)
[[email protected] mysql-5.6.26]# chkconfig mysqld --level 235 on 开机自运行
---//初始化脚本mysql_install_db位于安装目录的scripts文件夹中--
[[email protected] mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql \
> --datadir=/home/mysql //指定用户为mysql,链接文件是/var/lib/mysql,基本目录,/usr/local/mysql,数据目录为/home/mysql
[[email protected] mysql-5.6.26]# ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock //源文件是/var/lib/mysql/mysql.sock,链接的文件是/home/mysql/mysql.sock
编辑启动脚本:
[[email protected] mysql-5.6.26]# vi /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
[[email protected] mysql-5.6.26]# service mysqld start
Starting MySQL.. [确定]
登录数据库:
[[email protected] mysql-5.6.26]# mysql -u root
mysql>
mysql>
mysql>
PHP
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
编译安装:
首先GD库关联程序
[[email protected] ~]# yum -y install \
> libjpeg-devel \
> libpng-devel \
> freetype-devel \
> zlib-devel \
> gettext-devel \
> libXpm-devel \
> libxml2-devel \
> fontconfig-devel \
> openssl-devel \
> bzip2-devel
[[email protected] ~]# cd /root/PHP/
[[email protected] PHP]# ls
php-5.6.11.tar.bz2 PHP5.6安装.txt phpMyAdmin-4.6.3-all-languages.zip
[[email protected] PHP]# tar xjvf php-5.6.11.tar.bz2 -C /opt/
[[email protected] PHP]# cd /opt/php-5.6.11/
[[email protected] php-5.6.11]# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-gd \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/etc \
--enable-sqlite-utf8 \
--with-zlib-dir \
--with-libxml-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-ttf \
--with-iconv \
--with-openssl \
--with-gettext \
--enable-mbstring \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--enable-static \
--enable-zend-multibyte \
--enable-inline-optimization \
--enable-sockets \
--enable-soap \
--enable-ftp \
--disable-ipv6
[[email protected] php-5.6.11]# make
[[email protected] php-5.6.11]# make install
-------------配置文件不要忘记--------
[[email protected] php-5.6.11]# cp php.ini-production /etc/php.ini //在源码目录
------测试-------
重新配置apache2让他支持php
[[email protected] php-5.6.11]# vi /etc/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php
[[email protected] php-5.6.11]# service httpd restart
[[email protected] php-5.6.11]# cd /usr/local/apache
[[email protected] apache]# rm -rf conf.d/ 删除Apache测试用的子配置文件
[[email protected] apache]# vi conf/httpd.conf 进入Apache主配置文件,删除最后一行的incline:有就删 没有就算了
[[email protected] apache]# cd htdocs/
[[email protected] htdocs]# ls
index.html
[[email protected] htdocs]#
-----下面是测试PHP工作是否正常----
[[email protected] htdocs]# rm -f index.html 删除这个文件
[[email protected] htdocs]# vi index.php 新建PHP文件
<?php
phpinfo();
?>
访问Apache网页显示PHP说明lamp架构搭建成功:

--------进入数据库,建立授权账号-----
[[email protected] htdocs]# mysql -u root 进入数据库
mysql> CREATE DATABASE abc; 建立一个abc的数据库
Query OK, 1 row affected (0.19 sec)
mysql> GRANT all ON abc.* TO 'tom'@'%' IDENTIFIED BY '123456'; 创建一个tom用户,密码是123456 允许tom在任何地方登陆,对数据库拥有所有权限
Query OK, 0 rows affected (0.12 sec)
mysql> flush privileges; 刷新下权限
Query OK, 0 rows affected (0.07 sec)
--------下面测试数据库工作是否正常-----
[[email protected] htdocs]# vi index.php 编辑测试页
<?php
$link=mysql_connect('192.168.1.20','tom','123456'); IP地址不要输错
if($link) echo "Success!!"; 成功输出 Success!! 否则Fail!!
else echo "Fail!!";
mysql_close();
?>
登陆Apache查看是否成功:

这样PHP就可以和MySQL协同工作了
完成以上步骤lamp架构就搭建成功了
搭建Discuz论坛
[[email protected] ~]# cd /root/Discuz/
[[email protected] Discuz]# ls
Discuz_X3.2_SC_UTF8.zip Discuz安装.txt
[[email protected] Discuz]# unzip Discuz_X3.2_SC_UTF8.zip -d /opt/Discuz 解压到opt/Discu
[[email protected] Discuz]# cd /opt/Discuz/
[[email protected] Discuz]# ls
readme upload utility
[[email protected] Discuz]# cp -r upload/* /usr/local/apache/htdocs/把upload所有东西拷贝到/htdocs里 这个是网站的根目录
cp:是否覆盖"/usr/local/apache/htdocs/index.php"?Y
[[email protected] Discuz]# cd /usr/local/apache/htdocs/ 到该文件夹下加入以下命令:如果不加则无法安装
[[email protected] htdocs]# chown -R daemon ./config/
[[email protected] htdocs]# chown -R daemon ./data/
[[email protected] htdocs]# chown -R daemon ./uc_client/
[[email protected] htdocs]# chown -R daemon ./uc_server
进入192.168.1.20:
数据库是abc 用户名是前面MySQL上创建:
默认管理员是admin,密码是自己设置的

搭建成功:

后台地址:http://192.168.1.20/admin.php
这样就可以进入后台管理Disuz 论坛了!!!

这样简单的论坛就安装好了