Skip to main content

06.搭建lanm环境

tip

网站最初经典免费解决方案lamp

打造高性能计算型服务器 说明原因:为什么打造属于自己的计算型高性能服务器?
因为别人的服务器出问题了,找不到原因感到不爽!
理由2:使用第三方的面板固然方便,但(我也不想),功能越强会开启大量的进程,占用大量的计算资源。 环境:centos 7 最小化安装

一,安装前准备

$ yum install wget
$ yum install vim //安装这个就不用我说了
$ yum remove seliux* //卸载selinux软件。后期开发这个安装机制会对后面开发有影响。所以干脆卸了。

##二,安装apache

$ yum install httpd
$ systemctl enable httpd.servcie //加入开机启动
$ firewall-cmd --zone=public --add-port=80/tcp --permanent //防火墙打开80
$ tcping [ip] [port] //使用tcping工具查看端口是否开启(tcping当前没有yum包。要自己找安装包来安装。或直接在浏览器输入ip,进入apache的欢页面。就成功了)
$ mkdir vhost-conf
$ echo "Include vhost-conf/*.conf" &>> /etc/httpd/conf/httpd.conf //包含vhost-conf目录下的.conf后缀的配置文件。为了便于区分,建议每个站点做1个配置文件,如:站点test.com 可以是test_com.conf

在vhost-conf 新建站点test.com的配置文件:

# vim test_com
<VirtualHost *:80>
ServerName test.com
ServerAlias test2.com www.test1.com #多域名
DocumentRoot /var/www/html/test
DirectoryIndex index.html
</VirtualHost>
<Directory "/var/www/html/test">
Options +Includes -Indexes
llowOverride All
Order Deny,Allow
Allow from All
</Directory>
# mkdir /var/www/html/test //在 /var/www/html/新建目录test 网站的文件就是放置在这里 
     (如果就想将网站文件放置在/var/www/html/test/ 可以在这在这新建一个软链接将达到将文件放置在你想放的地方。如: #mkdir -p /www/test/&& rm -rf /var/www/html/test/ && ln -s /www/test /var/www/html/test/后面将网站文件放置在/www/test/)

 三,安装mysql

$ wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
$ rpm -Uvh mysql57-community-release-el7-10.noarch.rpm # 更新rpm包
$ yum install -y mysql-community-server # 安装msyql
$ systemctl start msyqld.service # 启动
$ firewall-cmd --zone=public --add-port=3360/tcp --permanent # 启用3306端口
$ systemctl resart firewalld.servcie # 重启防火墙
$ firewall-cmd --zone=public --list-ports # 查看3306端口是启用
$ grep 'temporary password' /var/log/mysqld.log //这种安装方式是有密码的,这个可以查看临时密码,帐户: root
系统会提示你修改修改密码:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
msyql>SET PASSWORD = PASSWORD('root'); //设置当前密码为root
如果修改密码失败:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
修改2个全局变量:
mysql> set global validate_password_policy=0; //修改validate_password_policy参数
msyql>
$ set global validate_password_length=1; //修改密码默认长度
msyql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'my password' WITH GRANT OPTION; //授权远程登录
mysl> FLUSH PRIVILEGES; //刷新系统配置

设置数据库和服务器编码格式: 在 /etc/my.cnf 的mysqld 标签下加入: character_set_server = utf8

$ systemctl restart mysqld.service //重启 
# 登录进mysql:
mysql> show variables like '%character%'; //查看编码格式
mysql> status; //查看基本信息

四,安装php 7

$  yum -y install epel-release  //安装epel仓库
$ rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm //更新yum包
$ # 基础
$ yum install php71w -y
$ # nginx连接使用
$ yum install php71w-fpm -y
$ # 宽字节
$ yum install php71w-mbstring -y
$ # mysql相关
$ yum install php71w-mysqlnd -y
$ # redis扩展
$ yum install php71w-pecl-redis -y
$ # 加密使用
$ yum install php71w-mcrypt -y
$ # 性能加速php5.5 以上使用
$ yum install php71w-opcache -y

## 五,安装vsftpd

(这个配置有些烦,先点明目标:指定用户指定目录!)
# yum install
# systemctl enable vsftpd.service //开机启动
# firewall-cmd --zone=public --add-port=21/tcp --permanent //开启21端口
# systemctl restart firewalld.service //重启防火墙
# vim /etc/vsftpd/vsftpd.conf //配置vsftpd.conf文件
  #禁匿名登录
  anonymous_enable=NO
  #注释(禁止匿名上传)
  #anon_upload_enable=YES
  #注释(禁止匿名修改)
  
  #anon_mkdir_write_enable=YES
  chroot_local_user=NO //名单外的帐户禁访问主目录上级目录
  chroot_list_enable=YES # 启用名单
  chroot_list_file=/etc/vsftpd/chroot_list #禁止访问上级目录名单
  vim /etc/vsftpd/chroot_list //新建 chroot_list名单
    wuChuHeng #写入名单  

  
  allow_writeable_chroot=YES //加入这行,在外部并执行 chmod a-w /home/user/ 写上帐号主目录
  tcp_wrappers=YES //被动模式,真实原理不清,实测这样访问速度更快
pasv_enable=YES
  pasv_min_port=30000
pasv_max_port=30999
  # firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent //开启端口
 # firewall-cmd --reload
 # systemctl restart vsftpd.service //重启
# useradd wuChuHeng -s /sbin/nologin //添加只能登录ftp服务的用户
# passwd wuChuHeng //修改密码
配置到当前已经可以使用帐号密码21端口登录在用户主目录了,如果想访问主目录上级,就将帐号一行一个加入chroot_list文件中) 
# useradd -d /www/web/ -g ftp -s /sbin/nologin flash 指定目录指定用户
#passwd falsh
并将flash加入chroot_list,就可以限制在它的主目录中了。
总结:最终实现的结果是,加入chroot_lis 名单,可以指定用户主目录,并限制在目录中,不在chroot_list名单中则没有这限制。