##################
apache
##################
lamp=linux+apache+mysql+php
服务端ip:172.25.254.112
yum install httpd -y
systemctl start httpd
systemctl enable httpd
firewall-cmd --list-all
firewall-cmd --permanent--add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
firewall-cmd --list-all
cd /var/www/html/
vim index.html
http ##不加密
https ##加密
在服务端可以编写前端页面
/var/www/html/index.html
当这个文件存在时,客户端访问 http://172.25.25.112 显示的是这个页面的内容
http 默认访问的端口为80端口 https
默认访问的端口为443
因为很多端口默认都被占用了,所以端口不能随便改
更改默认端口:
vim /etc/httpd/conf/httpd.conf
*******
.
.
#Listen 12.34.56.78:80
Listen 8080
.
.
*******
systemctl restart httpd
firewall-cmd --list-all
firewall-cmd --permanent--add-port=8080/tcp
firewall-cmd --reload
更改默认访问文件:(默认是/var/www/index.html)
vim /etc/httpd/conf/httpd.conf
******
.
.
<IfModule dir_module>
DirectoryIndex index.html westos
</IfModule>
.
.
******
##此处更改的意思是当index.html 文件存在时,读取 index.html文件。 当其不存在时,读取westos文件,当两者都存在,读取 index.html文件
ls
rm -fr index.html
vim westos
systemctl restart httpd
更改默认访问目录:(默认是/var/www/html)
mkdir /www/html -p
cd /www/html
vim westos
vim /etc/httpd/conf/httpd.conf
***************
DocumentRoot"/www/html"
<Directory"www">
Require all granted
</Directory>
***************
systemctl restart httpd
> /var/log/messages
systemctl restart httpd
cat /var/log/messages
semanage fcontext -a -thttpd_sys_content_t '/www(/.*)?'
restorecon -RvvF /www/
ls -Z /www/
##########
Apache虚拟主机
##########
基于主机名:
不同的网页使用一个IP
服务端:
vim /etc/httpd/conf/httpd.conf ##做这个服务之前先把之前更改的配置文件改回来 IP 默认目录
systemctl restart httpd
mkdir /var/www/news -p
mkdir /var/www/music -p
vim /var/www/news/westos
vim /var/www/music/westos
systemctl restart httpd
cd /etc/httpd/conf.d/
vim default.conf
----------------
<Virtualhost_default_:80>
Documentroot /var/www/html
customlog "logs/default.log" combined
</Virtualhost>
<Directory/var/www/html>
require all granted
</Directory>
-----------------
systemctl restart httpd
cp default.conf news.conf
vim news.conf
-------------------
<Virtualhost *:80>
Servername news.westos.com
Documentroot /var/www/news
customlog "logs/news.log" combined
</Virtualhost>
<Directory/var/www/news>
require all granted
</Directory>
--------------------
systemctl restart httpd
cp news.conf music.conf
vim music.conf
-------------------
<Virtualhost *:80>
Servername music.westos.com
Documentroot /var/www/music
customlog "logs/music.log" combined
</Virtualhost>
<Directory/var/www/music>
require all granted
</Directory>
--------------------
systemctl restart httpd
客户端:
vim /etc/hosts
*******************
172.25.254.112 www.westos.com news.westos.com music.westos.com
********************
打开浏览器 输入地址 www.westos.com news.westos.com music.westos.com 各个页面显示的是 各个子目录里(/var/www/html&news&music)westos文件里的内容
#######
apache配置基于ip的访问限制
#######
服务器:
vim /etc/httpd/conf.d/news.conf
---------
.
.
<Directory /var/www/news>
Order allow,deny
deny from 172.25.254.12
allow from all
</Directory>
---------
systemctl restart httpd
此处配置的是仅仅限制 172.25.254.12 登陆
客户端:
vim /etc/hosts
*******************
172.25.254.112 news.westos.com
********************
##########
apache配置基于用户的身份验证
##########
服务器:
首先建立用户文件:
cd /etc/httpd/conf/
htpasswd -c apacheuser admin ##创建apacheuser文件并添加admin用户
htpasswd -m apacheuser tom ##往apacheuser文件里添加tom用户
htpasswd -d apacheuser tom ##更新apacheuser里tom用户的信息
htpasswd -D apacheuser tom ##删除tom用户
vim /etc/httpd/conf.d/news.conf
---------
.
.
<Directory/var/www/news/admin>
Authuserfile/etc/httpd/conf/apacheruser
Authname "Please input yourname and password:"
Authtype basic
Require user admin
# Require valid-user
</Directory>
---------
systemctl restart httpd
###########
php cgi
###########
====
php:
====
服务器:
yum install php -y
cd /var/www/music
vim index.php
---------
<?php
phpinfo ();
?>
---------
systemctl restart httpd
客户端:
vim /etc/hosts
*******************
172.25.254.112 music.westos.com
********************
打开浏览器 http://music.westos.com/index.php
====
cgi:
====
vim /var/www/music/index.cgi
---------------
#!/usr/bin/perl
print "Conttent_type:text/html\n\n";
print `date`;
----------------
ls -dZ /var/www/cgi-bin/
semanage fcontext -a -thttpd_sys_script_exec_t '/var/www/music(/.*)?'
restorecon -RvvF /var/www/music
perl /var/www/music/index.cgi
chmod +x index.cgi
vim /etc/httpd/conf.d/music.conf
----------------
<Virtualhost *:80>
Servernamemusic.westos.com
Documentroot/var/www/music
customlog"logs/music.log" combined
</Virtualhost>
<Directory/var/www/music>
require all granted
</Directory>
<Directory/var/www/music>
Options +ExecCGI
AddHandler cgi-script.cgi
</Directory>
----------------
systemctl restart httpd
用户端:
music.westos.com/cgi/index.cgi
##########
apache 网络加密
##########
mkdir /var/www/login ##建立用户家目录
cd /var/www/login
vim westos ##编辑用户登陆页面
yum install mod_ssl -y ##安装服务
yum install crypto-utils.x86_64 -y ##安装证书生成工具
hostname ##查看主机名
genkey apache.examole.com ##生成证书与密码 genkey后跟主机名
在生成界面输入信息时不能有特殊字符,不然会在最后一个界面回车后报错
cd /etc/httpd/conf.d/
ls
vim login.conf ##编辑配置文件
vim/etc/httpd/conf.d/login.conf
-----------
<Virtualhost *:443>
Servername login.westos.com
Documentroot/var/www/login
Customlog"logs/login.log" combined
SSLEngine on
SSLCertificateKeyFile/etc/pki/tls/private/apache.examole.com.key
SSLCertificateFile /etc/pki/tls/certs/apache.examole.com.crt
</Virtualhost>
<Directory"/var/www/login">
Require all granted
</Directory>
<Virtualhost *:80> ##默认启用https服务
Servername login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$https://%{HTTP_HOST}$1 [redirect=301]
</Virtualhost>
------------
客户端:
vim /etc/hosts
*******************
172.25.254.112 login.westos.com
********************
打开浏览器 login.westos.com
############
数据库 mysql
############
##1.基本配置##
1>安装
yum install mariadb-server -y
systemctl start mariadb
mysql ##直接登陆
2>关闭接口
netstat -anple | grep mysql ##查看接口,默认情况下接口是开的
vim /etc/my.cnf ##更改配置文件,添加以下这条参数
------
skip-networking=1
-------
systemctl restart mariadb
netstat -anple | grep mysqld ##查看接口,此时接口应该已经关闭
mysql ##此时直接登陆被拒绝了
mysql_secure_installation ##设置登陆数据库的密码,设置密码后,一路回车(或输入y)即可
3>数据库基本操作
mysql -uroot -p ##不显示密码登陆
mysql -uroot -predhat ##显示密码登陆,一般不用这种方式
进入数据库后:
CREATE DATABASE westos; ##创建数据库
SHOW DATABASES; ##显示数据库
USE westos; ##进入数据库
CREATE TABLE yang(name VARCHAR(20),sexCHAR(1)); ##创建表
SHOW TABLES; ##显示数据库中的表
describe yang; ##查看数据结构 也能用 DESC table_name;
INSERT INTO table_name VALUES ('wxh','M'); ##添加元组
SELECT * FROM table_name; ##查询信息
UPDATE table_name SET attribute=valueWHERE attribute > value; ##更新用户信息
DELETE FROM table_name WHERE attribute= value; ##删除用户信息
DROP TABLE table_name; ##删除表
DROP DATABASE database_name; ##删除数据库
在终端中直接对数据库进行操作:
mysqldump -uroot -predhat--all-databases
mysqldump-uroot -predhat --all-database ##查看全部数据库
mysqldump-uroot -predhat --no-data --all-database ##查看全部数据库,不看数据
mysqldump-uroot -predhat westos ##查看数据库westos
mysql-uroot -predhat -e "DROP DATABASE westos" ##删除数据库westos
mysql-uroot -predhat -e "SHOW DATABASES" ##查看数据库
mysql-uroot -predhat -e "CREATE DATABASE westos;" ##建立数据库
4>用户和访问权限
create user yang@localhost identifiedby 'redhat'; ##创建只能在本机登陆的用户
create user yang@'%' identified by'redhat' ##创建所有地方可以登陆的用户
GRANT INSERT,UPDATE,DELETE,SELECT onmariadb.* to yang@localhost; ##给本地用户yang添加各种权限给库mariadb的所有表
GRANT SELECT on mariadb.*yang@'%'; ##给全局用户yang添加选择权限给库mariadb的所有表
FLUSH PRIVILEGES; ##重载授权表
SHOW GRANTS FOR yang@localhost; ##查看用户授权
REVOKE DELETE,UPDATE,INSERT onmariadb.* from yang@localhost; ##撤销用户权限
DROP USER yang@localhost; ##删除用户
5>密码管理
当数据库密码忘记时:
systemctl stop mariadb.service ##停止数据库服务
mysqld_safe --skip-grant-table& ##进入安全模式,并打入后台
mysql -u root ##登陆数据库
MariaDB [(none)]>UPDATEmysql.user set password=password('yang') where user='root'; ##登陆后更改密码
ps aux | grep mysql ##查看系统进程关于mysql的
kill -9 8350 ##杀死上述所有进程
ps aux | grep mysql ##会有一个进程杀不死
systemctl start mariadb ##开启数据库服务
mysql -u root -p ##用新密码登陆
直接更改密码:
mysqladmin -uroot -pyang passwordredhat
6>数据库的备份与恢复
mysqldump -uroot -predhat westos >/mnt/westos.sql ##备份数据库westos
mysql -uroot -predhat westos < /mnt/westos.sql ##恢复数据库
7>插件的安装
cd /var/www/login
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 ##解压
mv phpMyAdmin-3.4.0-all-languagesmysql ##更改名字
cd mysql/
cp config.sample.inc.php config.inc.php ##更改名字
vim Documentation.txt ##查看内容,复制内容
vim config.inc.php
.....
cfg['blowfish_secret'] ='ba17c1ec07d65003'; ##内容时从上面文件里复制的
.....
yum install php-mysql.x86_64 -y ##安装php
systemctl restart httpd
客户端:
vim /etc/hosts
*******************
172.25.254.112 login.westos.com
********************
打开浏览器 login.westos.com/mysql
lamp服务搭建
最新推荐文章于 2022-05-19 16:32:38 发布