文章目录
源码编译的应用?一:LAMP平台概述二:Apache的安装2.1:apache软件包及依赖包准备2.2:安装编译器和其他工具2.3:configure配置2.4:make编译和make install2.5:配置启动脚本2.6:编辑配置文件2.7:重启httpd服务2.8:客户机测试访问html页面
三:MYSQL服务安装3.1:MySQL概述3.2:源码编译安装过程3.3:配置cmake3.4:make编译和make install3.5:复制配置文件和脚本文件3.6:下一步进行配置脚本文件跟环境变量3.7:创建运行mysql的用户3.8:初始化数据库3.9:编辑启动脚本,开启mysql4.0:设置管理员密码
四:PHP代码源码编译安装PHP概述4.1:首先配置安装环境4.2:配置configre4.3:make编译和make install4.4:编辑配置文件4.5:重启服务跟测试PHP页面4.6:测试PHP是否搭建完成
五:搭建一个论坛5.1:解压论坛安装包5.2:网页输入IP+bbs后缀进行验证5.3:增加加相应的权限5.4:再次验证,已经可以了,点击下一步5.5:创建论坛单独管理用户
源码编译的应用?
一般来说,我们软件的安装方式有 yum (rpm),和源码编译两种方式,那么为什么我们需要源码编译安装一部分软件?选择源码编译安装软件有以下几个原因:
满足不同的运行平台,我们Linux发型版本众多,但是每个版本采用的软件或者内核版本都不一样,而我们的二进制包所依赖的环境不一定能够正常运行,所以大部分软件直接提供源码!方便定制,满足不同的需求,很多时候我们所需要的软件都是可以定制的,我需要什么就安装什么,大多数二进制代码都是一键装全,所以自由度并不高!方便运维、开发人员维护,我们的源码是可以打包二进制的,但是对于这个软件的打包都会有一份代价不小的额外工作,包括维护,所以如果是源码的话,软件产商会直接维护,但是如果是二进制的话,一般都是Linux发行商提供
一:LAMP平台概述
什么是LAMP ●目前最为成熟的一种企业网站应用模式,可提供动态Web 站点应用及开发环境 构成组件 ●Linux、Apache、 MySQL、PHP/Perl/Python LAMP的优势 ●成本低廉 ●可定制、易于开发 ●方便易用、安全和稳定
二:Apache的安装
2.1:apache软件包及依赖包准备
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
[root@localhost
~]# iptables
-F
[root@localhost
~]# setenforce
0
[root@localhost
~]# cd
/opt
[root@localhost opt
]# mkdir apache mysql php
[root@localhost opt
]# ls
apache mysql php rh
[root@localhost opt
]# cd apache
/
[root@localhost apache
]# rz
-E
rz waiting to receive
.
[root@localhost apache
]# ls
apr
-1.6.2.tar
.gz apr
-util
-1.6.0.tar
.gz httpd
-2.4.29.tar
.bz2
apr
-1.6.2.tar
.gz
apr
-util
-1.6.0.tar
.gz
httpd
-2.4.29.tar
.bz2
解压跨平台组件包和源码包
[root@localhost apache
]# tar jxvf httpd
-2.4.29.tar
.bz2
...省略内容
[root@localhost apache
]# tar zxvf apr
-1.6.2.tar
.gz
..省略内容
[root@localhost apache
]# tar zxvf apr
-util
-1.6.0.tar
.gz
..省略内容
[root@localhost apache
]# ls
apr
-1.6.2 apr
-1.6.2.tar
.gz apr
-util
-1.6.0 apr
-util
-1.6.0.tar
.gz httpd
-2.4.29 httpd
-2.4.29.tar
.bz2
[root@localhost apache
]# mv apr
-1.6.2 httpd
-2.4.29/srclib
/apr
[root@localhost apache
]# mv apr
-util
-1.6.0 httpd
-2.4.29/srclib
/apr
-util
[root@localhost apache
]# ls httpd
-2.4.29/srclib
/
apr apr
-util Makefile
.in
2.2:安装编译器和其他工具
手工安装要预先装环境
gcc 、gcc+必不可少 、make
pcre-devel:支持正则表达式
expat-devel:支持解析xml格式
perl:支持per语言
[root@localhost apache
]# yum
-y install \
> gcc \
> gcc
-c
++ \
> make \
> pcre
-devel \
> expat
-devel \
> perl
...省略内容
2.3:configure配置
[root@localhost httpd
-2.4.29]#
./configure \
> --prefix
=/usr
/local
/httpd \ #指定路径
> --enable
-so \ #默认的。支持动态共享模块 若不支持,php无法以模块方式跟Apache结合工作
> --enable
-rewrite \ #开启重写功能,如防盗链保护
> --enable
-charset
-lite \ #开启字符集
> --enbale
-cgi #开启通用网关接口
2.4:make编译和make install
[root@localhost httpd
-2.4.29]# make
..省略内容
[root@localhost httpd
-2.4.29]# make install
...省略内容
2.5:配置启动脚本
[root@localhost httpd
-2.4.29]# cp
/usr
/local
/httpd
/bin
/apachectl
/etc
/init
.d
/httpd
[root@localhost httpd
-2.4.29]# ls
/etc
/init
.d
/
functions httpd netconsole network README
[root@localhost httpd
-2.4.29]# vim httpd
[root@localhost httpd
-2.4.29]# cd
/etc
/init
.d
/
[root@localhost init
.d
]# vim httpd
[root@localhost init
.d
]# chkconfig
--add httpd
2.6:编辑配置文件
[root@localhost init
.d
]# ln
-s
/usr
/local
/httpd
/conf
/httpd
.conf
/etc
/httpd
.conf
[root@localhost init
.d
]# vim
/etc
/httpd
.conf
[root@localhost init
.d
]# ln
-s
/usr
/local
/httpd
/bin
2.7:重启httpd服务
[root@localhost init
.d
]# service httpd start
[root@localhost init
.d
]# netstat
-ntap
| grep
80
tcp
0 0 20.0.0.41:80 0.0.0.0:* LISTEN
121847/httpd
tcp
0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
18020/X
tcp6
0 0 :::6000 :::* LISTEN
18020/X
2.8:客户机测试访问html页面
三:MYSQL服务安装
3.1:MySQL概述
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
3.2:源码编译安装过程
环境准备
[root@localhost
~]# cd
/opt
/mysql
/
[root@localhost mysql
]# rz
-E
rz waiting to receive
.
[root@localhost mysql
]# ls
mysql
-5.6.26.tar
.gz
[root@localhost mysql
]# yum install ncurses
-devel autoconf cmake
-y
[root@localhost mysql
]# tar zxvf mysql
-5.6.26.tar
.gz
[root@localhost mysql
]# ls
mysql
-5.6.26 mysql
-5.6.26.tar
.gz
[root@localhost mysql
]# cd mysql
-5.6.26/
[root@localhost mysql
-5.6.26]# ls
BUILD Doxyfile
-perfschema mysys strings
BUILD
-CMAKE extra mysys_ssl support
-files
client include packaging tests
cmake INSTALL
-SOURCE plugin unittest
CMakeLists
.txt INSTALL
-WIN
-SOURCE README VERSION
cmd
-line
-utils libevent regex vio
config
.h
.cmake libmysql scripts win
configure
.cmake libmysqld sql zlib
COPYING libservices sql
-bench
dbug man sql
-common
Docs mysql
-test storage
3.3:配置cmake
[root@localhost 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
/ \ #指定数据文件目录,由mysql用户管理
> -DMYSQL_UNIX_ADDR
=/home
/mysql
/mysql
.sock #指定通信文件,连接数据库的必要文件
3.4:make编译和make install
[root@localhost mysql
-5.6.26]# make
...省略内容
[root@localhost mysql
-5.6.26]# make install
...省略内容
3.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]# cp support
-files
/mysql
.server
/etc
/init
.d
/mysqld
3.6:下一步进行配置脚本文件跟环境变量
[root@localhost mysql
-5.6.26]# cd
/etc
/init
.d
/
[root@localhost init
.d
]# ls
functions httpd httpd
.conf mysqld netconsole network README
[root@localhost init
.d
]# ll
总用量
56
-rw
-r
--r
--. 1 root root
18281 8月
24 2018 functions
-rwxr
-xr
-x
. 1 root root
3553 8月
3 17:52 httpd
lrwxrwxrwx
. 1 root root
32 8月
3 18:22 httpd
.conf
-> /usr
/local
/httpd
/conf
/httpd
.conf
-rw
-r
--r
--. 1 root root
10870 8月
3 21:59 mysqld
-rwxr
-xr
-x
. 1 root root
4569 8月
24 2018 netconsole
-rwxr
-xr
-x
. 1 root root
7923 8月
24 2018 network
-rw
-r
--r
--. 1 root root
1160 10月
31 2018 README
[root@localhost init
.d
]# chmod
+x mysqld
[root@localhost init
.d
]# chkconfig
--add
/etc
/init
.d
/mysqld
[root@localhost init
.d
]# chkconfig
--level
35 mysqld on
[root@localhost init
.d
]# vim
/etc
/profile
[root@localhost init
.d
]# source
/etc
/profile
[root@localhost init
.d
]# echo $PATH
/usr
/local
/sbin
:/usr
/local
/bin
:/usr
/sbin
:/usr
/bin
:/root
/bin
:/usr
/local
/mysql
/bin
3.7:创建运行mysql的用户
[root@localhost init
.d
]# useradd
-s
/sbin
/nologin mysql
[root@localhost init
.d
]# id mysql
uid
=1001(mysql
) gid
=1001(mysql
) 组
=1001(mysql
)
[root@localhost init
.d
]# chown
-R mysql
.mysql
/usr
/local
/mysql
[root@localhost init
.d
]# cd
/usr
/local
/mysql
/
[root@localhost mysql
]# ls
bin data include lib mysql
-test scripts sql
-bench
COPYING docs INSTALL
-BINARY man README share support
-files
[root@localhost mysql
]# cd scripts
/
[root@localhost scripts
]# ls
mysql_install_db
3.8:初始化数据库
[root@localhost scripts
]#
/usr
/local
/mysql
/scripts
/mysql_install_db \
> --user
=mysql \ #指定用户 这边不创建用户就会报错
> --ldata
=/var
/lib
/mysql \ #指定数据库文件所在位置
> --basedir
=/usr
/local
/mysql \ #数据库服务所在位置
> --datedir
=/home
/mysql #数据库位置
3.9:编辑启动脚本,开启mysql
指定两个位置
一个是服务存放位置
一个是数据存放位置
[root@localhost scripts
]# vim
/etc
/init
.d
/mysqld
asedir
=/usr
/local
/mysql
datadir
=/home
/mysql
[root@localhost scripts
]# service mysqld start
Starting MySQL
. SUCCESS
!
[root@localhost scripts
]# netstat
-ntap
|grep
3306
tcp6
0 0 :::3306 :::* LISTEN
2873/mysqld
4.0:设置管理员密码
[root@localhost scripts
]# mysqladmin
-u root
-p password
"abc123"
Enter password
:
Warning
: Using a password on the command line interface can be insecure
.
[root@localhost scripts
]# mysql
-u root
-p
Enter password
:
..省略
mysql
> show databases
;
+--------------------+
| Database
|
+--------------------+
| information_schema
|
| mysql
|
| performance_schema
|
| test
|
+--------------------+
4 rows in set
(0.01 sec
)
mysql
> exit
Bye
四:PHP代码源码编译安装
PHP概述
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持Unix,Windows,Linux等多种操作系统
4.1:首先配置安装环境
[root@localhost scripts
]# yum
-y install \
> gd \ #安装GD库环境 图像处理的工具
> libpng \ #由png拓展的图片
> libpng
-devel \
> pcre \
> pcre
-devel \
> libxml2
-devel \
> libjpeg
-devel
[root@localhost scripts
]# cd
/opt
[root@localhost opt
]# ls
apache mysql php rh
[root@localhost opt
]# cd php
/
[root@localhost php
]# ls
[root@localhost php
]# rz
-E #把压缩包复制过来
rz waiting to receive
.
[root@localhost php
]# ls #已经有了
php
-5.6.11.tar
.bz2
[root@localhost php
]# tar jxvf php
-5.6.11.tar
.bz2 #解压
[root@localhost php
]# ls
php
-5.6.11 php
-5.6.11.tar
.bz2
4.2:配置configre
[root@localhost php
-5.6.11]#
./configure \
> --prefix
=/usr
/local
/php5 \ #PHP的安装目录
> --with
-gd \ #GD库
> --with
-zlib \ #压缩函数库
> --with
-apxs2
=/usr
/local
/httpd
/bin
/apxs \ #设置Apache服务提供的apxs模块支持程序的文件位置
> --with
-mysql
=/usr
/local
/mysql \ #设置MySQL数据库服务程序的安装位置
> --with
-config
-file
-path
=/usr
/local
/php5 \ #PHP配置文件的位置
> --enable
-mbstring #启用对字节字符串功能,便于支持中文等代码
4.3:make编译和make install
[root@localhost php
-5.6.11]# make
...省略内容
[root@localhost php
-5.6.11]# make install
...省略内容
4.4:编辑配置文件
[root@localhost php
-5.6.11]# cp php
.ini
-development
/usr
/local
/php5
/php
.ini
[root@localhost php
-5.6.11]# ln
-s
/usr
/local
/php5
/bin
4.5:重启服务跟测试PHP页面
[root@localhost php
-5.6.11]# service httpd stop
[root@localhost php
-5.6.11]# service httpd start
[root@localhost php
-5.6.11]# cd
/usr
/local
/httpd
/htdocs
/
[root@localhost htdocs
]# ls
index
.html
<?php
phpinfo();
?>
:wq 保存退出
[root@localhost htdocs
]# mv index
.html index
.php
[root@localhost htdocs
]# ls
index
.php
4.6:测试PHP是否搭建完成
五:搭建一个论坛
5.1:解压论坛安装包
[root@localhost mysql
]# cd
/opt
[root@localhost opt
]# ls
apache mysql php rh
[root@localhost opt
]# rz
-E
rz waiting to receive
.
[root@localhost opt
]# ls
apache Discuz_X2
.5_SC_UTF8
.zip mysql php rh
[root@localhost opt
]# unzip Discuz_X2
.5_SC_UTF8
.zip
t@localhost opt
]# ls
apache mysql readme upload
Discuz_X2
.5_SC_UTF8
.zip php rh utility
[root@localhost opt
]# cp
-r upload
/ /usr
/local
/httpd
/htdocs
/bbs
[root@localhost opt
]# cd
/usr
/local
/httpd
/htdocs
/
[root@localhost htdocs
]# ls
bbs index
.php
[root@localhost htdocs
]# ls bbs
/
admin
.php crossdomain
.xml install source
api data member
.php
static
api
.php favicon
.ico misc
.php template
archiver forum
.php plugin
.php uc_client
config group
.php portal
.php uc_server
connect
.php home
.php robots
.txt userapp
.php
cp
.php index
.php search
.php
[root@localhost bbs
]# ll
总用量
76
-rw
-r
--r
--. 1 root root
2603 8月
4 08:46 admin
.php
drwxr
-xr
-x
. 11 root root
163 8月
4 08:46 api
-rw
-r
--r
--. 1 root root
727 8月
4 08:46 api
.php
drwxr
-xr
-x
. 2 root root
23 8月
4 08:46 archiver
drwxr
-xr
-x
. 2 root root
90 8月
4 08:46 config
-rw
-r
--r
--. 1 root root
922 8月
4 08:46 connect
.php
-rw
-r
--r
--. 1 root root
253 8月
4 08:46 cp
.php
-rw
-r
--r
--. 1 root root
106 8月
4 08:46 crossdomain
.xml
drwxr
-xr
-x
. 13 root root
216 8月
4 08:46 data
-rw
-r
--r
--. 1 root root
5558 8月
4 08:46 favicon
.ico
-rw
-r
--r
--. 1 root root
2110 8月
4 08:46 forum
.php
-rw
-r
--r
--. 1 root root
823 8月
4 08:46 group
.php
-rw
-r
--r
--. 1 root root
1223 8月
4 08:46 home
.php
-rw
-r
--r
--. 1 root root
5448 8月
4 08:46 index
.php
drwxr
-xr
-x
. 5 root root
64 8月
4 08:46 install
-rw
-r
--r
--. 1 root root
1040 8月
4 08:46 member
.php
-rw
-r
--r
--. 1 root root
1381 8月
4 08:46 misc
.php
-rw
-r
--r
--. 1 root root
1757 8月
4 08:46 plugin
.php
-rw
-r
--r
--. 1 root root
985 8月
4 08:46 portal
.php
-rw
-r
--r
--. 1 root root
582 8月
4 08:46 robots
.txt
-rw
-r
--r
--. 1 root root
1158 8月
4 08:46 search
.php
drwxr
-xr
-x
. 10 root root
168 8月
4 08:46 source
drwxr
-xr
-x
. 6 root root
72 8月
4 08:46 static
drwxr
-xr
-x
. 3 root root
38 8月
4 08:46 template
drwxr
-xr
-x
. 6 root root
92 8月
4 08:46 uc_client
drwxr
-xr
-x
. 13 root root
241 8月
4 08:46 uc_server
-rw
-r
--r
--. 1 root root
1691 8月
4 08:46 userapp
.php
5.2:网页输入IP+bbs后缀进行验证
这边描述./conifg ./date等权限不足
5.3:增加加相应的权限
[root@localhost bbs
]# chown
-R daemon
./config
/
[root@localhost bbs
]# chown
-R daemon
./data
/
[root@localhost bbs
]# chown
-R daemon
./uc_client
/
[root@localhost bbs
]# chown
-R daemon
./uc_server
/
5.4:再次验证,已经可以了,点击下一步
5.5:创建论坛单独管理用户
[root@localhost bbs
]# mysql
-uroot
-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.00 sec
)
mysql
> creat database bbs
;
ERROR
1064 (42000): You have an error in your SQL syntax
; check the manual that corresponds to your MySQL server version
for the right syntax to use near
'creat database bbs' at line
1
mysql
> create database 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
> use bbs
;
Database changed
mysql
> show tables
;
Empty set
(0.00 sec
)
mysql
> grant all on bbs
.* to
'bbsuser'@
'%' identified by
'admin123';
Query OK
, 0 rows affected
(0.00 sec
)
mysql
> flush privileges
;
Query OK
, 0 rows affected
(0.00 sec
)
选择全新安装,点击下一步
在服务器地址后面加/bbs/admin.php会到后台管理员登陆界面