zoukankan      html  css  js  c++  java
  • Linux安装Centos7.2搭建环境+配置ftp+项目配置(超全安装)

    一、配置环境LANMP(apache+php7+mysql)

    安装apache

      1.安装
      yum -y install httpd
      2.开启apache服务
      systemctl start httpd.service
      3.设置apache服务开机启动
      systemctl enable httpd.service

      使用公网访问能看到apache就说明安装成功

    安装php7

      1.安装php7
    rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
      2. 通过云进行php和其他组件的安装
      yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
      yum install php70w-fpm

    安装mysql

     rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    查看
    yum repolist enabled | grep "mysql.*-community.*"
    安装mysql
    yum -y install mysql-community-server
    开机启动
    systemctl enable mysqld
    启动mysql服务
    systemctl start mysqld
    (如果重新
    启动mysql服务没反应就删除安装包以及关于mysql所有的文件,重新安装mysql,因为有文件没有配置好

      如果提示依赖包错误,可以尝试以下命令删除:

      rpm -e 文件名 --nodeps

      删除mysql文件    find / -name mysql  查询后rm -rf 文件名

     远程访问

       GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION;

       FLUSH PRIVILEGES; 

    不知道数据库密码

      1.编辑文件

      vi /etc/my.cnf

      2.找到以下内容,并填写skip-grant-tables ,保存 :wq 并退出,重启数据库(systemctl start mysqld),就可以免密码登录了!

      [mysqld]

      datadir=/var/lib/mysql

      socket=/var/lib/mysql/mysql.sock

      <strong>skip-grant-tables </strong>

      3.输入命令,exit退出数据库

      mysql -uroot

      mysql>use mysql;

      mysql>UPDATE user SET Password = password ( '你的密码' ) WHERE User = 'root';

      mysql> flush privileges ;

      mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION;

         mysql>FLUSH PRIVILEGES; 

      4.进入编辑,删除skip-grant-tables,再重启数据库

      vi /etc/my.cnf

      5.切记关闭防火墙,云端开启3306端口,然后本地命令访问数据库和远程访问数据库

      

           

      进入数据库:mysql -u用户名 -p密码

       远程:

             

     二、配置FTP(多个用户权限)(橙色字体为配置多个用户账号步骤)

       1、FTP安装

      #安装
      yum install -y vsftpd

      #设置开机启动
      systemctl enable vsftpd.service

      #启动
      systemctl start vsftpd.service

      #停止
      systemctl stop vsftpd.service

      #查看状态
      systemctl status vsftpd.service

       2、配置FTP 

      #打开配置文件
      vim /etc/vsftpd/vsftpd.conf
    
      #显示行号
      :set number
    
      #修改配置 12 行
      anonymous_enable=NO
    
      #修改配置 33 行
      anon_mkdir_write_enable=YES
    
      #修改配置48行
      chown_uploads=YES
    
      #修改配置72行
      async_abor_enable=YES
    
      #修改配置82行
      ascii_upload_enable=YES
    
      #修改配置83行
      ascii_download_enable=YES
    
      #修改配置86行
      ftpd_banner=Welcome to blah FTP service.

      #修改配置100行
      chroot_local_user=YES   #添加下列内容到vsftpd.conf末尾   use_localtime=YES   listen_port=21   idle_session_timeout=300   guest_enable=YES   guest_username=vsftpd   user_config_dir=/etc/vsftpd/vconf   data_connection_timeout=1   virtual_use_local_privs=YES   pasv_min_port=40000   pasv_max_port=40010   accept_timeout=5   connect_timeout=1
      allow_writeable_chroot=YES

     3、建立用户文件

       #创建编辑用户文件
      vim /etc/vsftpd/virtusers
      #第一行为用户名,第二行为密码。不能使用root作为用户名 

      leo
      12345
      test
      test123

    4、生成用户数据文件

      db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
    
      #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
    
      chmod 600 /etc/vsftpd/virtusers.db 

    5、修改/etc/pam.d/vsftpd文件

      # 修改前先备份 
    
      cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
    
      vi /etc/pam.d/vsftpd
      #先将配置文件中原有的 auth 及 account 的所有配置行均注释掉
      auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 
      account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

      # 如果系统为32位,上面改为lib

    6.新建系统用户vsftpd,用户目录为/home/vsftpd

      #用户登录终端设为/bin/false(即:使之不能登录系统)
      useradd vsftpd -d /home/vsftpd -s /bin/false
      chown -R vsftpd:vsftpd /home/vsftpd

    7、建立虚拟用户个人配置

      mkdir /etc/vsftpd/vconf
      cd /etc/vsftpd/vconf
    
      #这里建立虚拟用户leo配置文件
      touch leo 或者 (touch test)
      #编辑leo用户配置文件,内容如下,其他用户类似   vi leo 或者 (vi test)   local_root=/home/vsftpd/leo/ 或者 local_root=自己想要放置的目录   write_enable=YES   anon_world_readable_only=NO   anon_upload_enable=YES   anon_mkdir_write_enable=YES   anon_other_write_enable=YES

      #建立leo用户根目录
      mkdir -p /home/vsftpd/leo/   (自己想要放置的目录)
       
      
       (#增加用户username的根目录所有者为之前创建的vsftpd

        chown -R vsftpd:vsftpd  自己想要放置的目录

        chmod -R 777 自己想要放置的目录)

    8、防火墙设置

      IPtables 的设置方式:
      vi /etc/sysconfig/iptables   #编辑iptables文件,添加如下内容,开启21端口   -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT

      firewall 的设置方式:
      firewall-cmd --zone=public --add-service=ftp --permanent

      firewall-cmd --zone=public --add-port=21/tcp --permanent
      firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent 

    9、重启vsftpd服务器

    systemctl restart vsftpd.service

    10、使用FTP工具连接测试

      这个时候,使用ftp的工具连接时,我们发现是可以连接的。传输文件的时候,会发现文件上传和下载都会出现

      500、503 、200等问题。这个时候,可以进行以下操作:

      方式一、关闭SELINUX

      #打开SELINUX配置文件
      vim /etc/selinux/config
    
      #修改配置参数
      #注释  
      SELINUX=enforcing
    
      #增加  
      SELINUX=disabled
      
      #修改完成后,需要重启!

      方式二、修改SELINUX

      setenforce 0 #暂时让SELinux进入Permissive模式
    
      #列出与ftp相关的设置
      getsebool -a|grep ftp
    
    
      #以下是显示出来的权限,off是关闭权限,on是打开权限。不同的机器显示的可能不一样。我看了我的显示的,和网上其他教程就不太一样
      ftp_home_dir --> off
      ftpd_anon_write --> off
      ftpd_connect_all_unreserved --> off
      ftpd_connect_db --> off
      ftpd_full_access --> off
      ftpd_use_cifs --> off
      ftpd_use_fusefs --> off
      ftpd_use_nfs --> off
      ftpd_use_passive_mode --> off
      httpd_can_connect_ftp --> off
      httpd_enable_ftp_server --> off
      sftpd_anon_write --> off
      sftpd_enable_homedirs --> off
      sftpd_full_access --> off
      sftpd_write_ssh_home --> off
      tftp_anon_write --> off
      tftp_home_dir --> off
    
      #将包含有 ftp_home_dir 和 ftpd_full_access 相关的都设置为 1
    
      setsebool -P ftp_home_dir 1
      setsebool -P allow_ftpd_anon_write 1   setsebool -P ftp_home_dir 1   setenforce 1 #进入Enforcing模式

      方式三、 SELINUX不对vsftp不做任何限制

      setsebool -P ftpd_connect_all_unreserved 1

      这个时候再使用工具连接,你发现,就可以正常的上传和下载文件了。

      如果还是有问题尝试给我们用户的ftp目录,设置一下操作权限

      chmod -R 775 /home/vsftpd/leo

    安装FTP遇到的问题

      本地连接FTP:ftp localhost(免密模式下  使用anonymous登陆,无需密码)

        ------530状态登录失败,220表示服务正常,可以登陆;230表示登陆成功。

    CentOS 7的ftp遇到530 Login incorrect.(阿里云)(去掉勾勾成为主动模式)

      

    三、部署项目
    1、用ip访问是否正常,并且查看此IP默认指向的文件夹位置在哪里
      一般是  /var/www/html

    2、配置apache,vim /etc/httpd/conf/httpd.conf修改配置文件。

    将#ServerName www.example.com:80            改为  ServerName 你的IP:80

    3、配置完后进行测试查看。

    [root@centos ~]# service httpd start
    Redirecting to /bin/systemctl start  httpd.service
    [root@centos ~]# service httpd status
    Redirecting to /bin/systemctl status  httpd.service
    ● httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2017-06-05 15:57:34 CST; 5s ago

    4、通过局域网中主机测试访问,若失败一般都是没有添加8080端口iptables访问规则,记得保存重启,如下,

    [root@Centos ~]# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

      [root@Centos ~]# service iptables save

      [root@Centos ~]# service iptables restart

      [root@Centos ~]# iptables -nL #查看规则表,看下添加成功否

    5、添加完在做apache访问测试,成功则如下图所示。 IP:80

    6、配置php

    #测试php解析是否成功   目录位置就是apche指向的根目录,写好index.php后输入ip:80/index.php

     vi /var/www/html/index.php

     <?php

      phpinfo();

    ?>

    7、PHP项目部署成功

    8、绑定域名,绑定项目

    vim /etc/httpd/conf/httpd.conf

    添加

    <VirtualHost *:80>

    ServerName 你的域名

    DocumentRoot 域名指向的文件夹位置

    </VirtualHost>

    重启httpd

    systemctl restart httpd.service

    部署项目遇到的问题: 

    1、runtime没给权限

    2、数据库账号密码问题以及框架内部 把application下面的 config.php文件默认模块home改为admin

     3、如果登录系统或者与数据库相连接运用报的错(F12查看错误)

      报  could not find driver (则有可能是你没安装 PDO_MYSQL扩展包)

           

      php -m 查看有没有pdo_mysql 拓展

      yum install php70w-mysqlnd.x86_64 装上,重启apache

       systemctl restart httpd.service

    所有步骤参考链接:

    安装LAMP环境---https://www.cnblogs.com/dennyxiao/p/9875600.html

    忘记数据库密码---https://blog.csdn.net/qq_28347599/article/details/71915209

    远程连接数据库---https://www.cnblogs.com/dennyxiao/p/8990047.html

    安装FTP---https://www.cnblogs.com/leoxuan/p/8329998.html

    安装FTP---https://www.inqingdao.cn/598.html

    安装FTP---https://www.cnblogs.com/zhi-leaf/p/5983550.html

    FTP遇到530登录问题---https://blog.csdn.net/qq_25123309/article/details/79715802

    删除安装的rpm包---https://www.cnblogs.com/qianjilou/p/9069660.html

    了解FTP知识:

    https://blog.51cto.com/xiaocao13140/2125532

    https://www.cnblogs.com/xuzhengzong/p/8645908.html

    https://blog.csdn.net/wsyh12345678/article/details/83244940

    部署项目参考链接

    https://www.cnblogs.com/huanglinxin/p/8643635.html

    https://blog.csdn.net/jinhangdev/article/details/81254748

  • 相关阅读:
    sentinel.conf样例
    哨兵模式java实例
    哨兵模式启动redis
    华为笔试:直角三角形个数
    leetcode 337. 打家劫舍iii
    leetcode 494. 目标数
    leetcode 394. 字符串解码
    leetcode 128. 最长连续子序列
    链表快排
    leetcode 877. 石子游戏
  • 原文地址:https://www.cnblogs.com/dennyxiao/p/11132683.html
Copyright © 2011-2022 走看看