一、Apache网站服务

1.1 Apache简介

  • 主要特点
    开放源代码、跨平台应用
    支持多种网页编程语言
    模块化设计、运行稳定、良好的安全性
  • 软件版本
    1.X
    目前最高版本是1.3,运行稳定
    向下兼容性较好,但缺乏一些较新的功能
    2.X
    目前最高版本是2.4
    具有更多的功能特性
    与1.X相比,配置管理风格存在较大差异

1.2 编译安装Apache服务的优点

  • 编译安装的优点
    具有较大的自由度,功能可定制
    可及时获得最新的软件版本
    普遍适用于大多数Linux版本,便于移植使用

  • 获得Apache服务器的源码包
    参考地址: htp://ttpd.apache.org/download.cg

1.3 httpd服务的目录结构

  • 服务目录: /usr/local/httpd/
  • 主配置文件: /usr/local/httpd/conf/httpd.conf
  • 网页目录: /usr/local/httpd/htdocs/
  • 服务脚本: /usr/local/httpd/bin/apachectl
  • 执行程序: /usr/local/httpd/bin/httpd
  • 访问日志: /usr/localhttpd/log/access_ log
  • 错误日志: /usr/localhttpd/log/error_ log

1.4 编译安装httpd服务器

在这里插入图片描述

tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

安装编译器和其他工具

yum -y install gcc gcc-c++ make pcre-devel expat-devel perl

configure配置

[root@localhost httpd]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \  #指定路径
> --enable-so \               #开启核心功能模块
> --enable-rewrite \          #开启重写功能,如防盗链保护
> --enable-charset-lite \     #开启字符集
> --enable-cgi                #开启通用网关接口

编译安装

make && make install

创建配置文件的软连接

[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
#创建httpd.conf配置文件的软链接到/etc下面
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ 
#将httpd的命令文件创建软链接到/usr/local/bin下
关闭防火墙
[root@localhost httpd-2.4.29]# setenforce 0
[root@localhost httpd-2.4.29]# httpd -t
Syntax OK  #此时可以使用相关命令
[root@localhost httpd-2.4.29]# apachectl -t
Syntax OK
开启服务
[root@localhost httpd-2.4.29]# service httpd start

在这里插入图片描述此时网站可用。

二、MySQL的编译安装

2.1 MySQL简介

  • MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

  • MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

  • MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

2.2 MySQL编译安装

软件包安装及压缩包的解压缩

yum -y install ncurses ncurses-devel bison cmake
useradd -s /sbin/nologin mysql
tar zxvf mysql-boost-5.7.20.tar.gz
cd mysql-5.7.20/

cmake的配置

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

编译安装(安装时间较长,需耐心等待)

make && make install

mysql的配置

chown -R mysql.mysql /usr/local/mysql/

vi /etc/my.cnf
[client]
port = 3306
default-character-set = utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set = utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server = utf8
socket = /usr/local/mysql/mysql.sock
pid-file = /usr/local/mysql/mysql.pid
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

chown mysql.mysql /etc/my.cnf
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile
echo $PATH
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr	/local/mysql/data
cd /usr/local/mysql/
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
systemctl daemon-reload
systemctl start mysqld.service
netstat -anptu | grep mysqld
systemctl enable mysqld.service

mysql密码设置的方式

mysqladmin -u root -p password ‘123456’	## 	用于开始为空密码设置



[root@server1 ~]# mysql -uroot -pabc123 	## 进去进行密码修改
修改密码为123123
set password for root@localhost = password('123123');

在外面进行密码的修改

[root@server1 ~]# mysqladmin -uroot -p123123 password 'abc123'
进行登录验证,密码abc123
[root@server1 ~]# mysql -uroot -pabc123

进入mysql进行密码的修改

mysql> use mysql;
mysql> update mysql.user set authentication_string = password('abcabc') where 	user='root' and host='localhost';
设置密码改为abcabc
mysql> flush privileges;
mysql> exit
登录验证密码abcabc
[root@server1 ~]# mysql -uroot -pabcabc

忘记密码或者设置无密登录

[root@server1 ~]# vi /etc/my.cnf
skip_name_resolve
skip_grant_tables
bind-address=0.0.0.0
[root@server1 ~]# systemctl restart mysqld
[root@server1 ~]# mysql

无密登录后可进行密码的修改,以达到取回密码的效果。

三、PHP源码编译安装

3.1 PHP简介

  • PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域

  • PHP支持绝大多数流行的数据库,在数据库层面的操作功能十分强大,而且能够支持Unix,Windows,Linux等多种操作系统

3.2 PHP编译安装

相关软件包的安装

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

软件包的解压

tar jxvf php-7.1.10.tar.bz2

configure配置

cd php-7.1.10/
./configure \
	--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

编译安装

make && make install	

配置文件

cp php.ini-development /usr/local/php/lib/php.ini 
vi /usr/local/php/lib/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock 
date. timezone = Asia/Shanghai

查询php是否安装

/usr/local/php/bin/php -m
vi /etc/httpd.conf 
/php  ## 查看是否显示php,证明是否安装了php模块

AddType application/x-httpd-php .php 	## 在配置文件中添加这些配置
AddType application/x-httpd-php-source .phps 
DirectoryIndex index.php index. html 

rm -f /usr/local/httpd/htdocs/index.html 
vi /usr/local/httpd/htdocs/index.php 
<?php 
phpinfo();
?>

service httpd restart

[root@server1 ~]# mysql -uroot -p123456
mysql> create database myadm;  创建一个数据库
mysql> grant all privileges on myadm.* to 'myadm'@'localhost' identified by 'admin123' 本地授权
mysql> grant all privileges on myadm.* to 'myadm'@'%' identified by 'admin123';   远程授权
mysql> flush privileges;  刷新
mysql> exit

最终的效果图

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐