第十次笔记

http

https

 

vim /var/www/html/index.html

 

http://172.25.254.128进行编辑

 

lamp=linux+apache+mysql+php

 

Apache主配置文件: /etc/httpd/conf/httpd.conf

ServerRoot "/etc/httpd" 用于指定Apache的运行目录

Listen 80 监听端口

User apache 运行apache程序的用户和组

Group apache

ServerAdmin root@localhost 管理员邮箱

DocumentRoot "/var/www/html" 网页文件的存放目录

<Directory "/var/www/html"> <Directory>语句块自定义目录权限

Require all granted

</Directory>

ErrorLog "logs/error_log" 错误日志存放位置

AddDefaultCharset UTF-8 默认支持的语言

IncludeOptional conf.d/*.conf 加载其它配置文件

DirectoryIndex index.html 默认主页名称

 

####默认发布目录DocumentRoot

[root@apache html]# pwd

/www/html

 

修改配置文件

#DocumentRoot "/var/www/html"

DocumentRoot "/www/html"

#

# Relax access to content within /var/www.

#

<Directory "/www/html">

        require all granted

</Directory>

 

若开启了selinux 需要更改目录安全上下文

semanage fcontext -a -t httpd_sys_content_t "/www(/.*)?"

restorecon -RvvF /www

 

 

######端口的修改##########

[root@apache ~]# vim /etc/httpd/conf/httpd.conf

[root@apache ~]# systemctl restart httpd

[root@apache html]# firewall-cmd --permanent --add-port=8080/tcp

success

[root@apache html]# firewall-cmd --reload

success

 

 

 

[root@apache html]# cd /var/www/html/

[root@apache html]# vim westos

 

 

##############虚拟主机############

虚拟主机允许您从一个httpd服务器同时为多个网站提供服务。在本节中,我们将了解基于名称的虚

拟主机其中多个主机名都指向同一个IP地址,但是Web服务器根据用于到达站点的主机名提供具有不

同内容的不同网站。

 

 

[root@apache conf.d]# vim default.conf

[root@apache conf.d]# mkdir /var/www/news

[root@apache conf.d]# mkdir /var/www/music

[root@apache conf.d]# echo new.lalala.com >/var/www/news/westos

[root@apache conf.d]# echo news.lalala.com >/var/www/news/westos

[root@apache conf.d]# echo music.lalala.com >/var/www/news/westos

 

 

vim /etc/httpd/conf.d/default.conf

<Virtualhost _default_:80>

        Documentroot /var/www/html

        customlog "logs/default.log" combined

</Virtualhost>

 

<Directory /var/www/html>

        require all granted

</Directory>

                 

vim /etc/httpd/conf.d/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>

 

 

vim /etc/httpd/conf.d/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>

 

 

mkdir /var/www/news/admin

用户的通过

 

<Directory /var/www/news/admin>

        Order allow,deny

        allow from 172.25.254.247

        deny from all

</Directory>

 

设置加密,用户认证

 

htpasswd -cm /etc/httpd/conf/apacheusr user1

htpasswd -m /etc/httpd/conf/apacheusr admin

 

vim /etc/httpd/conf.d/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>

 

<Directory /var/www/news>

        Authuserfile /etc/httpd/conf/apacheusr

        Authname  "Please input your name and passwor"

        Authtype basic

        Require user admin                           ###限制只有admin用户才可以访问

Require valid-user                                ###所有用户都可以访问

</Directory>

 

###php

 

yum install php -y

 

vim /etc/httpd/conf.d/php.conf

 

<FilesMatch \.php$>

SetHandler application/x-httpd-php

</FilesMatch>

DirectoryIndex index.php

 

root@apache html]# vim index.php

 

<?php

        phpinfo ();

?>

 

vim /etc/httpd/conf/httpd.conf

 

DirectoryIndex index.php 默认主页名称

###########cgi通用网关接口##############

通用网关接口(CGI)是网站上放置动态内容的最简单的方法。CGI脚本可用于许多目

,但是谨慎控制使用哪个CGI脚本以及允许谁添加和运行这些脚本十分重要。编写质量差的CGI

脚本可能为外部攻击者提供了破坏网站及其内容安全性的途径。因此,在Web服务器级别和

SELinux策略级别,都存在用于限制CGI脚本使用的设置。

 

1.在目录/var/www/news中建立目录cgi并创建index.cgi

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print `date`;

 

2.修改/etc/httpd/conf.d/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>

 

<Directory /var/www/news/cgi>

        Options +ExecCGI

        AddHandler cgi-script .cgi

</Directory>

3.测试

 

#######自定义自签名证书##########

 

如果加密的通信非常重要,而经过验证的身份不重要,管理员可以通过生成self-signed certificate来避免与认证机构进行交互所带来的复杂性。使用genkey实用程序(通过crypto-utils软件包分发),生成自签名证书及其关联的私钥。为了简化起见,genkey将在“正确”的位置(/etc/pki/tls目录)创建证书及其关联的密钥。相应地,必须以授权用户(root)身份运行该实用程序。

 

生成自签名证书

1. 确保已安装crypto-utils软件包。

[root@server0 ~]# yum install crypto-utils mod_ssl

2. 调用genkey,同时为生成的文件指定唯一名称(例如,服务器的主机全名)。

--days可以指定证书有效期

[root@server0 ~]# genkey server0.example.com

 

 

output will be written to /etc/pki/tls/certs/apache.example.com.crt

output key written to /etc/pki/tls/private/apache.example.com.key

 

vim /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/pki/tls/certs/apache.example.com.crt

SSLCertificateKeyFile /etc/pki/tls/private/apache.example.com.key

 

vim /etc/httpd/conf.d/login.conf

 

<Virtualhost *:443>

        Servername login.westos.com

        Documentroot /var/www/login

        Customlog  "logs/login.log" combined

        SSLEngine on

        SSLCertificateFile /etc/pki/tls/certs/apache.example.com.crt

        SSLCertificateKeyFile /etc/pki/tls/private/apache.example.com.key

</Virtualhost>

 

<Directory "/var/www/login">

        Require all granted

</Directory>

 

<Virtualhost *:80>

        Servername login.westos.com

        RewriteEngine on

        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

</Virtualhost>

该为网页重写。,使其自动访问https

 

mkdir /var/www/login

vim /var/www/login/index.html

login.westos.com

 

                        

####################数据库######################

 

yum install  mariadb-server  -y

systemctl start mariadb

 

[root@apache ~]# netstat -antlpe | grep mysql

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      27         121617     5764/mysqld       

 

[root@apache ~]# vim /etc/my.cnf                     ##关掉端口

 

编辑/etc/my.cnf文件,在[mysqld]中加入以下参数:

skip-networking=1

# systemctl restart mariadb

# ss -antlp |grep mysql

此时只允许通过套接字文件进行本地连接,阻断所有来自网络的tcp/ip连接。

[root@apache ~]# systemctl restart mariadb

[root@apache ~]# netstat -antlpe | grep mysqld

[root@apache ~]# mysql

使用mysql_secure_installation工具进行数据库安全设置,根据提示完成操作:

# mysql_secure_installation

登录数据库

mysqladmin -uroot -predhat password westos 修改本地mysql root密码

mysqladmin -uroot -predhat -h 192.168.0.188 password westos 修改远程192.168.0.188 mysql服务器 root密码

mysql_secure_installation 第一次安装mysql以后通过这条命令可以对mysql进行设置

 

mysql -uroot -predhat 从本机登录mysql数据库

 

show databases; 显示数据库

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

+--------------------+

3 rows in set (0.00 sec)

 

use mysql; 进入数据库

MariaDB [mysql]>

 

show tables; 显示数据库中的表

+---------------------------+

| Tables_in_mysql           |

+---------------------------+

| columns_priv              |

| db                        |

| event                     |

| func                      |

| general_log               |

| help_category             |

| help_keyword              |

| help_relation             |

| help_topic                |

| host                      |

| ndb_binlog_index          |

| plugin                    |

| proc                      |

| procs_priv                |

| proxies_priv              |

| servers                   |

| slow_log                  |

| tables_priv               |

| time_zone                 |

| time_zone_leap_second     |

| time_zone_name            |

| time_zone_transition      |

| time_zone_transition_type |

| user                      |

+---------------------------+

24 rows in set (0.00 sec)

 

desc user; 查看user表的数据结构

+------------------------+-----------------------------------+------+-----+---------+-------+

| Field                  | Type                              | Null | Key | De

MariaDB [mysql]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

                刷新数据库信息

select host,user,password from user; 查询user表中的host,user,password字段

+-----------+------+-------------------------------------------+

| host      | user | password                                  |

+-----------+------+-------------------------------------------+

| localhost | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |

| 127.0.0.1 | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |

| ::1       | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 |

+-----------+------+-------------------------------------------+

3 rows in set (0.00 sec)

create database westos; 创建westos数据库

use westos;

create table linux( 创建表,username,password字段

username varchar(15) not null,

password varchar(15) not null

);

select * from mysql.user; 查询mysql库下的user表中的所以

alter table linux add age varchar(4); 添加age字段到linux表中

ALTER TABLE linux DROP age;         删除age字段

ALTER TABLE linux ADD age  VARCHAR(5)  AFTER name; username字段后添加字段age

 

show tables;

desc linux;

 

insert into linux values ('user1','passwd1'); linux表中插入值为username = user1,password = password1

update linux set password=password('passwd2') where username=user1; 更新linux表中user1 的密码为password2

delete from linux where username=user1; 删除linux表中user1的所以内容

 

 

grant select on  *.* to user1@localhost identified by 'passwd1'; 授权user1 密码为passwd1  并且只能在本地 查询数据库的所以内容

grant all on mysql.* to user2@'%' identified by 'passwd2'; 授权user2 密码为passwd2  可以从远程任意主机登录mysql 并且可以对mysql数据库任意操作

 

 

备份

/var/lib/mysql

mysqldump -uroot -predhat mysql > mysql.bak 备份mysql库到mysql.bak

 

mysql -uroot -predhat westos < mysql.bak 恢复mysql.bak 到westos库

 

 

 

mysql 密码恢复

/etc/init.d/mysqld stop

 

mysqld_safe --skip-grant-tables & 跳过grant-tables授权表  不需要认证登录本地mysql数据库

 

update mysql.user set password=password('westos') where user='root'; 更新mysql.user 表中条件为root用户的密码为加密westos

 

/etc/init.d/mysql restart

 

 

 

phpmyadmin

yum install php php-mysql httpd mysql mysql-server

 

tar jxf phpmyadmin-*.tar.bz2 -C /var/www/html

mv phpmyadmin phpadmin

cp config.sample.inc.php config.inc.php

vim config.inc.php

add

$cfg['blowfish_secret'] = 'test';

 

/etc/init.d/httpd start

http://192.168.0.188/phpadmin

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值