设root密码
sudo passwd root
防止不必要的麻烦关闭 Selinux
setenforce 0
永久关闭,可以修改配置文件/etc/selinux/config,将SELINU置为disabled
root 帐号通过 SSH 登录
vi /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
AllowUsers root
systemctl restart sshd.service
将/dev/sdb1分区改成swap 分区:
fdisk /dev/sdb
--格式化swap分区:
mkswap /dev/sdb2
格式化其他分区
mkfs.xfs /dev/sdb1
使用blkid 查看类型已经变成了swap:
这里的类型已经改变,我们可以尝试手工的启动swap:
[root@rhce ~]# swapon /dev/sdb2
[root@rhce ~]# swapon -s
我们这里把/dev/dbb1和/dev/sdc1都添加/etc/fstab 文件,在重启一下看看。 添加内容如下:
UUID=ebd65f59-1b3b-478e-8879-b194781d9589 swap swap defaults 0 0
UUID=6f1a9246-3ba9-4c28-9b0c-f81d51c89775 /data xfs defaults 0 0
yum install -y wget lrzsz
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
rpm -ivh epel-release-latest-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-8.rpm
yum clean all
yum makecache
yum -y install samba samba-client samba-common
smbpasswd -a root
1,命令模式
systemctl set-default multi-user.target
2,图形模式
systemctl set-default graphical.target
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables防火墙
yum install iptables-services -y #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
安装webmin
yum -y install openssl perl perl-Encode-Detect perl-Net-SSLeay perl-IO-Tty
删除perl模块时先用如下命令查看perl的文件夹,然后直接删除文件或文件夹:
perl -e 'print join "\n",@INC'
测试perl模块是是否安装成功,用下面命令,无提示表示成功:
perl -e 'use Net::SSLeay'
wget https://prdownloads.sourceforge.net/webadmin/webmin-1.941-1.noarch.rpm
rpm -ivh webmin-1.941-1.noarch.rpm
安装mariadb
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
安装mariadb,大小59 M。
yum install mariadb-server mariadb -y
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
所以先启动数据库
[root@yl-web yl]# systemctl start mariadb
然后就可以正常使用mysql了
复制代码
[root@yl-web yl]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.41-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
设置密码
mysql> set password for 'root'@'localhost' =password('password');
Query OK, 0 rows affected (0.00 sec)
mysql>
不需要重启数据库即可生效。
三、配置mysql
1、编码
mysql配置文件
vim /etc/my.cnf
最后加上编码配置
[mysql]
default-character-set =utf8
这里的字符编码必须和/usr/share/mysql/charsets/Index.xml中一致。
2、远程连接设置
把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。
mysql> grant all privileges on *.* to root@'%'identified by 'password';
如果是新用户而不是root,则要先新建用户
mysql>create user 'extmail'@'localhost' identified by 'password';
mysql> set password for 'extmail'@'localhost' =password('123456');
此时就可以进行远程连接了。
CentOS 7 默认是firewall
添加防火墙规则如下:
# firewall-cmd --add-port=80/tcp //http协议基于TCP传输协议,放行80端口
如果添加以上的命令还不行,那么就关闭firewalld
停止
# systemctl stop firewalld.service
禁止开机启动
# systemctl disable firewalld.service
配置
默认的配置文件在 /etc/nginx 路径下,使用该配置已经可以正确地运行nginx;
如需要自定义,修改其下的 nginx.conf 或conf.d/default.conf等文件即可。
测试
在浏览器地址栏中输入部署nginx环境的机器的IP,如果一切正常,应该能看到如下字样的内容。
Nginx 安装
1:下载nginx最新稳定版本:nginx-1.14.0.tar.gz,下载地址
wget http://nginx.org/download/nginx-1.18.0.tar.gz
2:执行
tar -zxvf nginx-1.18.0.tar.gz
yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel
./configure --prefix=/etc/nginx --with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre
make && make install
useradd -s /sbin/nologin -M nginx
id nginx
执行
/etc/nginx/sbin/nginx -c /etc/nginx/conf/nginx.conf
vi /etc/rc.local
/data/php7/sbin/php-fpm -c /data/php7/etc/php.ini -y /data/php7/etc/php-fpm.conf
/etc/nginx/sbin/nginx -c /etc/nginx/conf/nginx.conf
给权限
chmod +x /etc/rc.d/rc.local
重启
/etc/nginx/sbin/nginx -s reload
停止:
/etc/nginx/sbin/nginx -s stop
检测配置文件是否正常:
/etc/nginx/sbin/nginx -t
vi /etc/crypto-policies/back-ends/opensslcnf.config
TLSv1.2改为TLSv1
或者源码安装PHP
1、从官网下载PHP源码包
2、安装依赖包
yum install -y gcc gcc-c++ libxml2-devel libxml2 openssl openssl-devel curl curl-devel libjpeg-devel libpng-devel freetype-devel icu libicu libicu-devel libmcrypt libmcrypt-devel libxslt libxslt-devel sqlite-devel oniguruma oniguruma-devel
编译安装php7
wget https://www.php.net/distributions/php-7.4.5.tar.gz
tar -xzvf php-7.4.5.tar.gz
cd php-7.4.5
./configure --prefix=/data/php7 --with-config-file-path=/data/php7/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-mysql --with-mysqli --with-pdo-mysql --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --enable-gd --with-freetype-dir --with-jpeg-dir --with-png-dir
make && make install
安装成功的打印信息:
安装成功之后进入/usr/local/php/bin目录查看php版本
[root@docker bin]# php -v
PHP 5.5.38 (cli) (built: Feb 28 2017 20:24:05)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
4、移动配置文件
$ cp php.ini-production /data/php7/etc/php.ini //将源码文件中的php.ini-production移动到php配置文件夹下作为php的配置文件
$ cp /data/php7/etc/php-fpm.conf.default /data/php7/etc/php-fpm.conf
然后设置php.ini,使用: vim /data/php7/lib/php.ini 打开php配置文件找到cgi.fix_pathinfo配置项,这一项默认被注释并且值为1,根据官方文档的说明,这里为了当文件不存在时,阻止Nginx将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击,所以此项应该去掉注释并设置为0
php_value[session.save_path] = "/tmp/php725"
date.timezone = PRC
cp /data/php7/etc/php-fpm.d/www.conf.default /data/php7/etc/php-fpm.d/www.conf
vim /data/php7/etc/php-fpm.d/www.conf
打开:vi /etc/php-fpm.d/www.conf
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
;listen = 127.0.0.1:9000
改为
listen = /data/php7/run/socket
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
;php_value[session.save_path] = /var/lib/php/session
启动
/data/php7/sbin/php-fpm -c /data/php7/etc/php.ini -y /data/php7/etc/php-fpm.conf
# chmod 0660 /data/php7/run/socket
# chown nginx:nginx /data/php7/run/socket
-这里有一个地方需要注意,如果你在重启nginx的时候,出现无法识别$document_root,你需要将你的 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;里面的$document_root换成你项目入口文件位置,我就在这个地方纠结了好久,弄半天才整出来,这个解析规则基本能满足大部分php项目解析
cd ~
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
yum install -y unzip zip
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-4.8.0.1-all-languages /var/www/phpmyadmin
mv /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
打开编辑config.inc.php
找到:
$cfg['Servers'][$i]['host'] = 'localhost';
改成:
$cfg['Servers'][$i]['host'] = '127.0.0.1';
现在,打开浏览器,输入为 nginx 服务器绑定的主机名,后面加上 phpMyAdmin 所在的目录名,http://127.0.0.1/phpmyadmin 。显示了一个错误:
session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)
引起这个错误的原因是 php 没有权限把 session 写到指定的目录里,这些 session 文件保存的位置是在 php 的配置文件里定义的,用我们前面测试 php 创建的 phpinfo.php 可以查看这个目录的位置,在浏览器里打开这个文件,搜索 session.save_path:
phpmyadmin/libraries/session.inc.php
session.save_path /var/lib/php-fpm/session
这个 /var/lib/php-fpm/session 是保存 session 用的目录,这个目录现在属于 root 这个用户,我们的 php-fpm 是用 vagrant 用户运行的,所以,你可以把这个目录的拥有者改成 vagrant :
chown nginx /var/lib/php-fpm/session
cp config.sample.inc.php config.inc.php
openssl rand -base64 32
返回:
AhONip2q+KmANQJfbzx7NC+j+hsGRKuhuQi8ClJG4mk=
复制返回来的随机密码,然后打开 config.inc.php,搜索 $cfg['blowfish_secret'] ,把复制的密码粘贴到这个配置的后面。
$cfg['blowfish_secret'] = 'AhONip2q+KmANQJfbzx7NC+j+hsGRKuhuQi8ClJG4mk=';
保存配置文件,回到浏览器,重新登录,警告就会消失了
打赏微信扫一扫,打赏作者吧~