centos - 环境配置 LAMP
1.更新源
为 CentOS7/RHEL7 安装 EPEL 仓库 2.1 方法一 : 命令安装 yum -y install epel-release 2.2 方法二 : 手动安装 针对系统架构选择相应的类型 : http://dl.fedoraproject.org/pub/epel/7/ 我们使用的 x86_64, 就要进入该目录下寻找相应包, 安装方法如下 : rpm -vih http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm 或者: wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm rpm -vih epel-release-7-2.noarch.rpm 接着更新元数据缓存(非必须): yum clean all && yum makecache 验证 EPEL 仓库 此时我们发现 /etc/yum.repos.d/ 下多了两个 epel 的 repo 文件: epel.repo 和 epel-testing.repo cd /etc/yum.repos.d/ --------------------- 作者:JeanCheng 来源:CSDN 原文:https://blog.csdn.net/gatieme/article/details/70232358 版权声明:本文为博主原创文章,转载请附上博文链接! 清理yum缓存 yum clean all 创建yum缓存(将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度) yum makecache -------------------------------------- 更新系统 yum clean all yum makecache rpm --rebuilddb yum update
2.安装apache(Apache在centos系统中,其实叫"httpd",可以使用yum来安装)
1、查看httpd包是否可用 yum list | grep httpd 2、安装apache yum install httpd 3、配置ServerName 修改 vi /etc/httpd/conf/httpd.conf 文件 取消ServerName一行的注释,更改示例中的IP地址为本服务器绑定的域名或本服务器的外网IP 如:ServerName baidu.com:80 ┌------------------------------------------------------------------------┐ # httpd的其他配置文件的文件夹目录 /etc/httpd/conf.d/
This directory holds configuration files for the Apache HTTP Server; any files in this directory which have the ".conf" extension will be processed as httpd configuration files. The directory is used in addition to the directory /etc/httpd/conf.modules.d/, which contains configuration files necessary to load modules. Files are processed in alphabetical order. # httpd的启动模块文件的文件夹目录 /etc/httpd/conf.modules.d/ └------------------------------------------------------------------------┘ 指令: 启动 httpd -k start 停止 httpd -k stop 重启 httpd -k restart 重新启动Apache服务器,但不会中断原有的连接。用于修改了配置文件后进行重新读取配置文件。 httpd -k graceful Usage: httpd [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-k start|restart|graceful|graceful-stop|stop] [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X] Options: -D name : define a name for use in <IfDefine name> directives -d directory : specify an alternate initial ServerRoot -f file : specify an alternate ServerConfigFile -C "directive" : process directive before reading config files -c "directive" : process directive after reading config files -e level : show startup errors of level (see LogLevel) -E file : log startup errors to file -v : show version number -V : show compile settings -h : list available command line options (this page) -l : list compiled in modules -L : list available configuration directives -t -D DUMP_VHOSTS : show parsed vhost settings -t -D DUMP_RUN_CFG : show parsed run settings -S : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG -t -D DUMP_MODULES : show all loaded modules -M : a synonym for -t -D DUMP_MODULES -t : run syntax check for config files -T : start without DocumentRoot(s) check -X : debug mode (only one worker, do not detach)
3.安装mysql5.7
yum -y install deltarpm
首先检查MySQL是否已经安装 yum list installed | grep mysql 如果有的话就全部卸载 yum -y remove + mysql包的名称 1、配置YUM源 # 下载mysql源安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 校验md5 md5sum mysql57-community-release-el7-11.noarch.rpm c070b754ce2de9f714ab4db4736c7e05 mysql57-community-release-el7-11.noarch.rpm # 安装mysql源 yum localinstall mysql57-community-release-el7-11.noarch.rpm 不校验包直接下载安装方法: yum -y install https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 检查mysql源是否安装成功 yum repolist 或者 yum repolist enabled | grep "mysql" 或者 yum repolist enabled | grep "mysql.*-community.*" 2、安装mysql yum install mysql-community-server 或者(安装64位) yum install mysql-community-server.x86_64 -y 由于服务器下载一下安装包究极慢,我从他的超时提示中拿到下载链接下载了需要的包并本地安装,再次运行安装时,已经是 Package mysql-community-server-5.7.23-1.el7.x86_64 already installed and latest version Nothing to do yum localinstall mysql-community-client-5.7.23-1.el7.x86_64.rpm yum localinstall mysql-community-libs-5.7.23-1.el7.x86_64.rpm yum localinstall mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm yum localinstall mysql-community-server-5.7.23-1.el7.x86_64.rpm 3、启动mysql服务 systemctl start mysqld (启动后会在 /var/log/mysql 下生成数据文件) 查看mysql的启动状态 systemctl status mysqld 4、设置开机启动 systemctl enable mysqld systemctl daemon-reload 5、修改root默认密码 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改: grep 'temporary password' /var/log/mysqld.log 5.2修改root密码 登录 mysql -uroot -p 输入刚才的密码(复制粘贴即可) 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 这里注意密码要求:大写字母 小写字母 数字 特殊符号 构成哦 刷新系统列表 FLUSH PRIVILEGES; 退出 quit; 或者: set password for 'root'@'localhost'=password('MyNewPass4!'); 注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。 否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误 重启mysql sudo service mysqld restart 可以用新密码试试了 6.设置MySQL远程访问 需求:需要在本地远程登录MySQL,采用的还是root用户+密码访问 服务器确保3306端口是可以访问的 配置服务器的安全组,入站规则中增加一条股则 0.0.0/0 TCP:3306 允许 将安全组配置在对应服务器上. mysql 配置更改 修改配置文件 编辑 /etc/my.cnf vi /etc/my.cnf 增加一行 bind-address = 0.0.0.0 我这是这样的: [mysqld] bind-address = 0.0.0.0 修改root用户 登录mysql mysql -uroot -p 输入密码 mysql> use mysql; mysql> select user,host from user; +---------------+-----------+ | user | host | +---------------+-----------+ | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +---------------+-----------+ 将root用户host更新成 %: update user set host = '%' where user = 'root'; 再查询看看: mysql> select user,host from user; +---------------+-----------+ | user | host | +---------------+-----------+ | root | % | | mysql.session | localhost | | mysql.sys | localhost | +---------------+-----------+ 3 rows in set (0.00 sec) 重启mysql sudo service mysqld restart 搞定 PS:因为也在centos6.5上安装过mysql,发现原本系统上是有mysql的,如果继续执行 yum install mysql-community-server 会出现需要解决libaio依赖包的问题,这时把系统安装的mysql删除再重新执行上述命令就可以了 ---------参考资料------------ CentOS下配置LAMP教程 作者:璐潇晓璐 来源:CSDN 原文:https://blog.csdn.net/Lxl121181/article/details/76040088?utm_source=copy ---------参考资料------------ centos7.4三种方式安装mysql5.7 作者:studywinwin 来源:51CTO 原文:http://blog.51cto.com/13480443/2103530 ---------参考资料------------ CentOS 7.2 64位 安装 MYSQL 作者:正为疯狂 來源:简书 链接:https://www.jianshu.com/p/174a095ded15
4.安装php7.0
三、安装php7 在centos7通过yum安装PHP7,首先在终端运行: rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 提示错误: error: Failed dependencies: epel-release >= 7 is needed by webtatic-release-7-3.noarch 需要先安装epel-release。 1.安装epel-release 通过命令: yum -y install epel-release 成功安装。 2.安装PHP7 终端再次运行如下命令: rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 成功获取PHP7的yum源,然后再执行: yum install php70w 这样就大功告成了。 3.验证安装 终端命令:PHP -v,显示当前PHP版本,信息如下: [root@moliangjun /]# php -v PHP 7.0.18 (cli) (built: Apr 15 2017 07:09:11) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies 这样就在CentOS 7下通过yum安装成功PHP7. 安装pdo等依赖 安装PDO yum -y install php70w-mysql php70w-gd libjpeg* php70w-imap php70w-ldap php70w-odbc php70w-pear php70w-xml php70w-xmlrpc php70w-mbstring php70w-mcrypt php70w-bcmath php70w-mhash libmcrypt yum -y install php70w-fpm PS:如果之前已经安装过其他版本的php,想要删除的话,用下面的方法删除再安装php7 查看php版本命令: #php -v 如果用#yum remove php这个命令删除php的安装包是删不干净的。使用这个命令以后再用 #php -v 还是会看到有版本信息。。。。。所以必须强制删除 先用这个命令 #rpm -qa|grep php 查看系统上所有的php的安装包 提示如下 #php-pdo-5.1.6-27.el5_5.3 #php-mysql-5.1.6-27.el5_5.3 #php-xml-5.1.6-27.el5_5.3 #php-cli-5.1.6-27.el5_5.3 #php-common-5.1.6-27.el5_5.3 #php-gd-5.1.6-27.el5_5.3 注意卸载要先卸载没有依赖的 pdo是mysql的依赖项;common是gd的依赖项; 例如:# rpm -e php-pdo-5.1.6-27.el5_5.3 error: Failed dependencies: php-pdo is needed by (installed) php-mysql-5.1.6-27.el5_5.3.i386 所以正确的卸载顺序是: # rpm -e php-mysql-5.1.6-27.el5_5.3 # rpm -e php-pdo-5.1.6-27.el5_5.3 # rpm -e php-xml-5.1.6-27.el5_5.3 # rpm -e php-cli-5.1.6-27.el5_5.3 # rpm -e php-gd-5.1.6-27.el5_5.3 # rpm -e php-common-5.1.6-27.el5_5.3 再用# php -v 查看版本信息已经没有提示 --------------------- 作者:璐潇晓璐 来源:CSDN 原文:https://blog.csdn.net/Lxl121181/article/details/76040088?utm_source=copy -------------------------------------------------- 低版本PHP安装教程 安装php yum -y install php 安装PDO yum -y install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt ----------------------------------------------- php踩坑教程 这个周末上线一个帮朋友做的网站,遇到挺多坑,记录一下 https://laravel-china.org/articles/10803/this-weekend-theres-a-lot-of-pits-on-the-website-for-a-friend-to-do
5.安装gcc(c和c++语言组件的支持)
#安装 yum install gcc gcc-c++ # 查看是否安装成功 which gcc g++ # 检查版本: gcc --version g++ --version
6.防火墙设置(不设置可能打不开网页)
# 安装,更新 yum -y install firewalld firewall-config yum -y update firewalld # [ 启动 / 关闭 / 开机启动 / 取消开机启动 / 查看状态 ] firewalld服务 systemctl [start / stop / enable / disable / status] firewalld # 显示详细信息 rpm -qi firewalld rpm -qi firewall-config ------------------------------------------------------firewall-cmd------------------------------------------------------ # 重启防火墙 firewall-cmd --reload # 查看状态 firewall-cmd --state # 开启http https 服务 firewall-cmd --zone=public --permanent --add-service=http firewall-cmd --zone=public --permanent --add-service=https # 添加端口(80:http, 443:https, 3306:mysql) firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --zone=public --add-port=3306/tcp --permanent # 查看端口是否打开 firewall-cmd --zone=public --query-port=80/tcp firewall-cmd --zone=public --query-port=443/tcp firewall-cmd --zone=public --query-port=443/tcp # 重启生效配置 firewall-cmd --reload # --zone #作用域 # --add-port=80/tcp #添加端口,格式为:端口/通讯协议 # --query-port=443/tcp #查询端口,格式为:端口/通讯协议 # --permanent #永久生效,没有此参数重启后失效 ------------------------------------------------------详细参考文档------------------------------------------------------ CentOS7中firewalld的安装与使用详解 2017年10月25日 15:47:12 MRIVANDU 阅读数:4659 https://blog.csdn.net/solaraceboy/article/details/78342360 ------------------------------------------------------ 日常运维(五):CentOS7 firewalld 2017年10月31日 16:33:46 宁信1617 阅读数:3071 https://blog.csdn.net/qq_38157974/article/details/78405000
其他
查看CentOS版本方法 # lsb_release -a 查看Linux发行版 # uname -a 显示Linux # uname 仅显示显示版本号 # uname -r RedHat,CentOS版本 # cat /etc/redhat-release RedHat版本 # rpm -q redhat-release CentOS版本 rpm -q centos-release CentOS对应RedHat的版本 # cat /proc/version
关闭欢迎界面
mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.delete
关闭文件路由(重启 httpd -k restart 生效)
该设置的目的是关闭服务器的文件浏览,保护网站文件的隐私。 修改 /etc/httpd/conf/httpd.conf 文件 结构 <Directory "/var/www/html"> 内的 Options 属性 Options Indexes FollowSymLinks 为 Options -Indexes +FollowSymLinks 打开网页结果:(由于我的网站目录是空的,而又不能开放文件夹浏览,故返回没有权限) ┌───────────────────────────────────────────────────────────────────────┐ Forbidden You don't have permission to access / on this server. └───────────────────────────────────────────────────────────────────────┘
安装ssl
#安装ssl模块 yum -y install mod_ssl
以下cert文件夹是/etc/httpd下的目录,绝对路径是/etc/httpd/cert
以下SLL证书是自行 申请/购买的 。以下是阿里云的证书文件配置,仅供参考。若第3个文件是CA文件而不是Chain文件,则配置项应为 SSLCACertificateFile。
#修改ssl 添加密钥和证书 vim /etc/httpd/conf.d/ssl.conf # 添加 SSL 协议支持协议,去掉不安全的协议 SSLProtocol all -SSLv2 -SSLv3 # 修改加密套件如下 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder on # 证书公钥配置 SSLCertificateFile cert/public.pem # 证书私钥配置 SSLCertificateKeyFile cert/1539948375120.key # 证书链配置,如果该属性开头有 '#'字符,请删除掉 SSLCertificateChainFile cert/chain.pem 重启 Apache。 httpd -k restart 通过 https 方式访问您的站点,测试站点证书的安装配置。
2