################## 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