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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM