2016年9月12日 星期一

CentOS 7.2 安裝 apache,php, mysql,ftp (rpm)

更新:2017-10-17


系統安裝

初始安裝

@使用最小安裝 Minimal Install

@第一步驟 安裝語言:中文 > 繁體中文(台灣)

@第二步驟
鍵盤配置
     配置切換(輸入法) > 新增 Ctrl + Shift
     語系使用預設的漢語
軟體選擇 > 桌面環境 > 最小安裝
安裝目的地 > 選擇硬碟 > 選擇 LVM
     先按 + 號選擇新增, 標準分割區,/boot,1G
     swap ,LVM,設定 4000 MB,然後右邊才會出現更多項目。
     右邊的 Volume Group 選擇修改,大小設定成 盡可能的大
     新增 / ,850G
網路與主機名稱
     一般 > 當這個網路可使用時自動連線
     IPv4 設定 > 設定 地址、網路遮罩、通訊閘、DNS伺服器(168.95.1.1)
     主機名稱 dev.mydomain
    
@第三步驟 用戶設定
設定 root 密碼,新增一個使用者


安裝中文
如果一開始沒有選擇中文,安裝好之後可用下面指令安裝中文
localectl set-locale LANG=zh_TW.utf8
重新登入 ssh


更新套件庫
yum install -y wget vim
cd /usr/local/src
wget -q http://rpms.remirepo.net/enterprise/remi-release-7.rpm
wget -q https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm
vim /etc/yum.repos.d/remi-php72.repo
[remi-php71]
enabled=1
yum makecache fast

//更新所有套件
yum update -y

查詢linux核心資訊
uname -a

查linux發行版本
cat /etc/*-release


安裝Gnome桌面環境
英文環境,執行
yum groupinstall "GNOME Desktop Environment"

中文環境,執行
yum groupinstall "GNOME 桌面環境"
查看可以安裝的項目
yum groups list


防火牆
yum install -y firewalld firewalld-config
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-port=60001-60100/tcp
service firewalld restart
firewall-cmd --zone=public --list-all

關閉
# service firewalld stop
# systemctl stop firewalld.service

檢視狀態
# service firewalld status
# systemctl status firewalld.service

註:CentOS 7.x 的防火牆有 zone 的概念,預設是 public。
所以沒指定的時候,下面這兩行的意思一樣:
# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --zone=public --permanent --add-port=80/tcp

查監聽 port
# netstat -lnpt
a: 顯示所有連線
l: 僅列出有在 Listen (監聽) 的服務之網路狀態
n: 不使用主機名稱與服務名稱,使用 IP 與 port number
p: 列出 PID 與 Program 的檔名
t: 僅列出 TCP 封包的連線

Selinux
顯示目前狀態
# getenforce

暫時關閉
# setenforce

永久關閉
# vim /etc/sysconfig/selinux
SELINUX=disabled

安裝 MariaDB

# yum -y install mariadb-server mariadb
# mysql -V
# vim /etc/my.cnf
[mysqld]
...
skip-name-resolve
character-set-server = utf8
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
...
# systemctl enable mariadb
# systemctl start mariadb

設定精靈
# mysql_secure_installation

還沒設定root密碼之前,可用此方法設定密碼
# mysqladmin -u root password 'mypassword'

進入mysql環境
# mysql -u root -p'mypassword'
MariaDB [(none)]> SELECT host, user, password FROM mysql.user;
MariaDB [(none)]> DELETE FROM mysql.user WHERE user = '';
MariaDB [(none)]> CREATE DATABASE dbname;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost' identified BY 'password';
MariaDB [(none)]> show databases
MariaDB [(none)]> exit;
# systemctl restart mariadb.service


安裝 Apache httpd


# yum list | grep http
# yum install -y httpd.x86_64 mod_ssl
# systemctl enable httpd
# vim /etc/httpd/conf/httpd.conf
<Directory "/var/www">
    AllowOverride All
    # Allow open access:
    Require all granted
</Directory>
# vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost *:80>
    ServerAdmin your@site1.com
    DocumentRoot "/var/www/websites/www.site1.com/httpdocs/public"
    ServerName  "www.site1.com"
    ServerAlias "site1.com"
    ErrorLog  "logs/www.site1.com-error.log"
    CustomLog "logs/www.site1.com-access.log" combined
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>
# useradd john -G apache -s /sbin/nologin -d /var/www/websites/www.site1.com
# chown  john.apache /var/www/websites/www.site1.com -R
# chmod 2775 /var/www/websites/www.site1.com -R
# service httpd restart


安裝 PHP

# yum list | grep php
# yum --enablerepo=remi,remi-php56 install php php-devel php-gd php-mbstring php-mcrypt php-mysqlnd php-xml
安裝 php 會自動安裝 php-cli php-common
安裝 php-mysqlnd 會自動安裝 php-pdo
# yum install -y composer

如果不小心安裝了 php5.4,想升級到 5.6,
# service httpd stop
# yum update -y
# yum update php


安裝 vsftp

# yum install -y vsftpd
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.original
# vim /etc/vsftpd/vsftpd.conf
#禁止暱名登入
anonymous_enable=NO

#設定上傳檔案的權限
local_umask=002

#下面三行是原始內容,不需變更

userlist_enable=YES #預設存在此行,不需變更
userlist_deny=YES #預設無此行,此值為預設值。可不新增
userlist_file=/etc/vsftpd/user_list #預設無此行,此值為預設值。可不新增
#作用: user_list 裡面的系統帳號禁止登入。例如 root, bin, daemon...

#限制家目錄
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#作用: chroot_list裡面的帳號不受家目錄限制,其它帳號都被限制。

#設定被動模式
pasv_enable=YES
pasv_min_port=60001
pasv_max_port=60100

#使用者設定檔存放的資料夾
user_config_dir=/etc/vsftpd/vsftpd_user_conf
#讓限制家目錄可寫
allow_writeable_chroot=YES
#解決連線過程中IP變更
pasv_promiscuous=YES
#關閉反解
reverse_lookup_enable=NO
編輯使用者設定檔 (假設帳號是 john)
# vim /etc/vsftpd/vsftpd_user_conf/john
local_root=/var/www/sites/mysite.com
# touch /etc/vsftpd/chroot_list
# systemctl enable vsftpd
# systemctl start vsftpd
# chmod 555 目標資料夾

.

沒有留言:

張貼留言