差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
| tech:centosinstall [2013/05/17 17:42] – [5 安裝與設定 MySQL] jonathan | tech:centosinstall [2019/10/30 08:14] (目前版本) – [安裝 phpMyAdmin] jonathan_tsai | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== CentOS+基本服務安裝程序 ====== | ||
| + | ===== 安裝 CentOS 作業系統 ===== | ||
| + | * 適用 5.x / 6.x / 7.x x86_64 版本 | ||
| + | |||
| + | <note warning> | ||
| + | 啟用 SELinux : **警告** 並非預設值, | ||
| + | </ | ||
| + | |||
| + | ==== 確認 CentOS 安裝完成 ==== | ||
| + | - 建立備援 root 帳號(Exp. misadm) | ||
| + | - 建立登入帳號 (Exp. jonathan) | ||
| + | - 網路可否正常運作 (ssh 到外部主機, | ||
| + | |||
| + | ==== 更新 CentOS 版本作業 ==== | ||
| + | - 使用 root 身分登入主機 | ||
| + | - 安裝 yum 更新套件 | ||
| + | - 使用 yum 更新到最新版本 | ||
| + | - 重新啟動電腦讓新版的 kernel 生效 | ||
| + | <code sh> | ||
| + | su - root | ||
| + | yum update; sync; sync; sync; reboot | ||
| + | </ | ||
| + | |||
| + | ==== 安裝 EPEL 程序 ==== | ||
| + | **CentOS7** | ||
| + | * 64 bits 環境 : <code sh>rpm -Uvh http:// | ||
| + | |||
| + | **CentOS6** | ||
| + | * 64 bits 環境 : <code sh>rpm -Uvh http:// | ||
| + | * 32 bits 環境 : <code sh>rpm -Uvh http:// | ||
| + | |||
| + | **CentOS5** | ||
| + | * 64 bits 環境 : <code sh>rpm -Uvh http:// | ||
| + | * 32 bits 環境 : <code sh>rpm -Uvh http:// | ||
| + | |||
| + | ==== 安裝其餘系統管理套件 ==== | ||
| + | <code sh>yum install -y iptraf sysstat net-snmp mrtg</ | ||
| + | |||
| + | ===== 設定 snmp agent ===== | ||
| + | <code sh> | ||
| + | cd /etc/snmp | ||
| + | vi snmpd.conf | ||
| + | </ | ||
| + | com2sec notConfigUser | ||
| + | |||
| + | group | ||
| + | group | ||
| + | |||
| + | view systemview | ||
| + | view systemview | ||
| + | view systemview | ||
| + | view systemview | ||
| + | |||
| + | access | ||
| + | |||
| + | syslocation Taipei | ||
| + | syscontact Root < | ||
| + | </ | ||
| + | |||
| + | * 啟動 snmpd 並設定開機可自動啟動< | ||
| + | service snmpd start | ||
| + | chkconfig snmpd on | ||
| + | chkconfig --list | grep snmpd | ||
| + | </ | ||
| + | < | ||
| + | [root@ed2 snmp]# chkconfig --list | grep snmpd | ||
| + | snmpd | ||
| + | </ | ||
| + | |||
| + | ===== 安裝與設定 ntpd ===== | ||
| + | <code sh>yum -y install ntp</ | ||
| + | * 如果要自己編輯 ntp server< | ||
| + | cd /etc | ||
| + | vi ntp.conf | ||
| + | </ | ||
| + | |||
| + | : | ||
| + | : | ||
| + | # --- OUR TIMESERVERS ----- | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | : | ||
| + | : | ||
| + | </ | ||
| + | |||
| + | * 第一次網路校時 <code sh> | ||
| + | [root@tryboxap1 etc]# ntpdate -u tick.stdtime.gov.tw | ||
| + | 23 Mar 17:22:58 ntpdate[3552]: | ||
| + | [root@tryboxap1 etc]# date | ||
| + | Thu Mar 23 17:23:33 CST 2006 | ||
| + | </ | ||
| + | |||
| + | * 啟動 ntpd <code sh> | ||
| + | service ntpd start | ||
| + | chkconfig ntpd on | ||
| + | chkconfig --list | grep ntpd | ||
| + | ntpq -p | ||
| + | </ | ||
| + | [root@tryboxap1 etc]# chkconfig --list | grep ntpd | ||
| + | ntpd 0:off | ||
| + | [root@tryboxap1 etc]# ntpq -p | ||
| + | | ||
| + | ============================================================================== | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | ===== 安裝與設定 apache ===== | ||
| + | <code sh>yum -y install httpd mod_ssl</ | ||
| + | |||
| + | * 依據實際狀況設定 httpd.conf 參數檔< | ||
| + | cd / | ||
| + | vi httpd.conf | ||
| + | </ | ||
| + | : | ||
| + | KeepAlive Off | ||
| + | : | ||
| + | ServerAdmin [email protected] | ||
| + | : | ||
| + | ServerName tryboxap.ichiayi.com: | ||
| + | : | ||
| + | DocumentRoot "/ | ||
| + | : | ||
| + | Alias /icons/ "/ | ||
| + | |||
| + | < | ||
| + | # Options Indexes MultiViews | ||
| + | AllowOverride None | ||
| + | Order allow,deny | ||
| + | Allow from all | ||
| + | </ | ||
| + | : | ||
| + | # End of proxy directives. | ||
| + | |||
| + | < | ||
| + | DeflateCompressionLevel 9 | ||
| + | AddOutputFilterByType DEFLATE text/html text/plain text/xml application/ | ||
| + | AddOutputFilter DEFLATE js css | ||
| + | </ | ||
| + | |||
| + | ### Section 3: Virtual Hosts | ||
| + | : | ||
| + | </ | ||
| + | * 啟動 httpd< | ||
| + | |||
| + | * 設定每次開機自動啟動 httpd< | ||
| + | chkconfig httpd on | ||
| + | chkconfig --list | grep httpd | ||
| + | </ | ||
| + | |||
| + | ===== 安裝與設定 MySQL ===== | ||
| + | <code sh>yum -y install mysql-server mysql-devel</ | ||
| + | |||
| + | * 第一次啟動 MySQL 並設定自動啟動< | ||
| + | service mysqld start | ||
| + | chkconfig mysqld on | ||
| + | chkconfig --list | grep mysqld | ||
| + | </ | ||
| + | * 設定與確認 MySQL 內的 root 密碼< | ||
| + | / | ||
| + | mysql -u root -p | ||
| + | </ | ||
| + | |||
| + | * 如果要建立一個資料庫 testdb 與帳號 testuser 可以在本機連上管理這個資料庫的權限可以參考以下與法< | ||
| + | CREATE DATABASE testdb; | ||
| + | CREATE USER ' | ||
| + | GRANT ALL ON testdb.* TO ' | ||
| + | FLUSH PRIVILEGES; | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | * 如果要關閉 MySQL 對連線來源的 IP 反查, 可在 /etc/my.cnf 內 [mysqld] 增加 skip-name-resolve< | ||
| + | [mysqld] | ||
| + | : | ||
| + | # Skip reverse DNS lookup of clients | ||
| + | skip-name-resolve | ||
| + | : | ||
| + | </ | ||
| + | * 然後重新啟動 mysqld 即可 | ||
| + | * 參考資料 : http:// | ||
| + | </ | ||
| + | |||
| + | ===== 安裝與設定 PostgreSQL ===== | ||
| + | <code sh>yum install postgresql-server postgresql-devel</ | ||
| + | |||
| + | * 第一次建立 PostgreSQL 資料目錄< | ||
| + | * 檢查 PostgreSQL 參數檔是否已產生< | ||
| + | cd / | ||
| + | ls -lt | ||
| + | </ | ||
| + | * 看結果內容< | ||
| + | [root@tryboxap07 data]# ls -lt | ||
| + | total 116 | ||
| + | drwx------ | ||
| + | drwx------ | ||
| + | drwx------ | ||
| + | drwx------ | ||
| + | -rw------- | ||
| + | -rw------- | ||
| + | drwx------ | ||
| + | drwx------ | ||
| + | -rw------- | ||
| + | drwx------ | ||
| + | drwx------ | ||
| + | drwx------ | ||
| + | -rw------- | ||
| + | </ | ||
| + | * 設定 PostgreSQL 參數檔 postgresql.conf 內容 <code sh>vi postgresql.conf</ | ||
| + | : | ||
| + | listen_addresses = ' | ||
| + | port = 5432 | ||
| + | max_connections = 750 | ||
| + | : | ||
| + | shared_buffers = 24MB | ||
| + | : | ||
| + | stats_start_collector = on | ||
| + | stats_command_string = on | ||
| + | stats_block_level = on | ||
| + | stats_row_level = on | ||
| + | : | ||
| + | autovacuum = on | ||
| + | : | ||
| + | </ | ||
| + | * 依據實際需要來修改 postgresql 登入權限檔 pg_hba.conf <code sh>vi pg_hba.conf</ | ||
| + | # IPv4 local connections: | ||
| + | local all | ||
| + | host all | ||
| + | </ | ||
| + | * 啟動 PostgreSQL <code sh> | ||
| + | * **如果無法成功啟動, | ||
| + | kernel.shmmax = 536870912 | ||
| + | kernel.shmmni = 4096 | ||
| + | kernel.shmall = 2097152 | ||
| + | # semaphores: semmsl, semmns, semopm, semmni | ||
| + | kernel.sem = 250 32000 100 128 | ||
| + | fs.file-max = 65536 | ||
| + | net.ipv4.ip_local_port_range = 1024 65000 | ||
| + | net.core.rmem_default=262144 | ||
| + | net.core.rmem_max=262144 | ||
| + | net.core.wmem_default=262144 | ||
| + | net.core.wmem_max=262144 | ||
| + | </ | ||
| + | * <code sh>/ | ||
| + | * 設定每次開機自動啟動 postgresql <code sh> | ||
| + | su - root | ||
| + | chkconfig postgresql on | ||
| + | chkconfig --list | grep postgresql | ||
| + | </ | ||
| + | [root@trybox-03 data]# | ||
| + | postgresql | ||
| + | [root@trybox-03 data]# | ||
| + | </ | ||
| + | |||
| + | ===== 安裝 php ===== | ||
| + | * 安裝 php 與 php-mysql / php-pgsql 模組 <code sh>yum install -y php php-mbstring php-mysql php-pgsql</ | ||
| + | * 原則上 php 已經隨 apache 安裝上去, | ||
| + | cd / | ||
| + | vi php.php | ||
| + | </ | ||
| + | <?php | ||
| + | phpinfo(); | ||
| + | ?> | ||
| + | </ | ||
| + | service httpd restart | ||
| + | </ | ||
| + | * 然後輸入網址, | ||
| + | |||
| + | ===== 安裝 perl Module ===== | ||
| + | * 透過 EPEL 安裝 | ||
| + | <code sh> | ||
| + | yum install -y perl-Text-Iconv perl-Mail-Sendmail perl-DBI perl-DBD-Pg perl-DBD-mysql perl-Digest-Perl-MD5 | ||
| + | </ | ||
| + | |||
| + | ===== 安裝 phpMyAdmin ===== | ||
| + | * 至 https:// | ||
| + | cd / | ||
| + | wget https:// | ||
| + | tar -zxvf phpMyAdmin-*.tar.gz | ||
| + | rm -rf phpMyAdmin-*.tar.gz | ||
| + | mv phpMyAdmin-*-all-languages phpMyAdmin | ||
| + | </ | ||
| + | * 設定 config.inc.php 參數檔< | ||
| + | cd / | ||
| + | mkdir tmp | ||
| + | chown apache: | ||
| + | cp config.sample.inc.php config.inc.php | ||
| + | vi config.inc.php</ | ||
| + | : | ||
| + | $cfg[' | ||
| + | : | ||
| + | /* Authentication type */ | ||
| + | $cfg[' | ||
| + | /* Server parameters */ | ||
| + | : | ||
| + | : | ||
| + | </ | ||
| + | * 這樣設定之後,連上 phpMyAdmin 網頁就會談出輸入帳號密碼的視窗,輸入 root 與建立 MySQL 或 MariaDB 的密碼就可以登入 | ||
| + | * 參考網址 - http:// | ||
| + | |||
| + | ===== 安裝 phpPgAdmin ===== | ||
| + | * 至 www.sf.net 找 phpPgAdmin | ||
| + | * 網址 : http:// | ||
| + | cd / | ||
| + | wget http:// | ||
| + | tar -zxvf phpPgAdmin-3.5.6.tar.gz | ||
| + | rm -rf phpPgAdmin-3.5.6.tar.gz | ||
| + | </ | ||
| + | * 設定參數檔 conf/ | ||
| + | cd phpPgAdmin/ | ||
| + | cp config.inc.php-dist config.inc.php | ||
| + | vi config.inc.php</ | ||
| + | : | ||
| + | // Hostname or IP address for server. | ||
| + | $conf[' | ||
| + | $conf[' | ||
| + | : | ||
| + | </ | ||
| + | * 驗證 phpPgAdmin 安裝是否正確 | ||
| + | * 網址 : http:// | ||
| + | * 可以使用之前建立的帳號密碼登入 | ||
| + | * 建立 Reports 資料庫< | ||
| + | su - postgres | ||
| + | export LANG=C | ||
| + | cd / | ||
| + | psql template1 < reports-pgsql.sql</ | ||
| + | -bash-3.00$ psql template1 < reports-pgsql.sql | ||
| + | CREATE DATABASE | ||
| + | You are now connected to database " | ||
| + | NOTICE: | ||
| + | NOTICE: | ||
| + | CREATE TABLE | ||
| + | GRANT | ||
| + | GRANT | ||
| + | -bash-3.00$ | ||
| + | </ | ||
| + | |||
| + | ===== 安裝 SubVersion(svn) ===== | ||
| + | ==== 安裝 SubVersion rpm ==== | ||
| + | <note warning> | ||
| + | 壓力測試發現在同時 svnadmin export 與 svn update 時會出現 db 異常問題, | ||
| + | \\ | ||
| + | < | ||
| + | |||
| + | cd / | ||
| + | svnadmin recover trybox | ||
| + | chown -R apache: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <code sh>yum install -y subversion mod_dav_svn</ | ||
| + | |||
| + | ==== 編輯設定檔 subversion.conf ==== | ||
| + | <code sh> | ||
| + | cd / | ||
| + | vi subversion.conf | ||
| + | </ | ||
| + | # Needed to do Subversion Apache server. | ||
| + | LoadModule dav_svn_module | ||
| + | |||
| + | # Only needed if you decide to do " | ||
| + | #LoadModule authz_svn_module | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | < | ||
| + | DAV svn | ||
| + | | ||
| + | |||
| + | # Order deny,allow | ||
| + | # Deny from all | ||
| + | # Allow from 127.0.0.1 | ||
| + | # Allow from ::1 | ||
| + | # Allow from .ichiayi.com | ||
| + | |||
| + | | ||
| + | # Satisfy Any | ||
| + | |||
| + | # Limit write permission to list of valid users. | ||
| + | # < | ||
| + | # Require SSL connection for password protection. | ||
| + | SSLRequireSSL | ||
| + | |||
| + | AuthType Basic | ||
| + | AuthName " | ||
| + | AuthUserFile / | ||
| + | Require valid-user | ||
| + | # </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | * 如果 svn 要改用 http:// 沒有加密傳送方式, | ||
| + | * 如果不需要設定特定使用者權限,就在 AuthzSVNAccessFile 前加上 # 拿掉指定權限功能, | ||
| + | * 如果拿掉 Satisfy Any 前 #, 以下的限制 SSLRequireSSL / Deny from / Allow from 都會失效 | ||
| + | </ | ||
| + | ==== 依實際需要建立 svn 目錄與專案 ==== | ||
| + | <code sh> | ||
| + | mkdir / | ||
| + | cd / | ||
| + | svnadmin create trybox | ||
| + | chown -R apache: | ||
| + | </ | ||
| + | |||
| + | ==== 設定存取 subversion 用戶帳號密碼 ==== | ||
| + | <code sh> | ||
| + | htpasswd -c / | ||
| + | htpasswd / | ||
| + | </ | ||
| + | [root@tryboxap1 svn]# htpasswd -c / | ||
| + | New password: | ||
| + | Re-type new password: | ||
| + | Adding password for user jonathan | ||
| + | |||
| + | [root@tryboxap1 svn]# htpasswd / | ||
| + | New password: | ||
| + | Re-type new password: | ||
| + | Adding password for user trybox | ||
| + | </ | ||
| + | |||
| + | ==== 設定每個使用者在每個 repos 內的權限 ==== | ||
| + | <code sh>vi / | ||
| + | [trybox:/] | ||
| + | jonathan = rw | ||
| + | trybox = r | ||
| + | </ | ||
| + | |||
| + | ==== 重起 apache 讓 subversion 生效 ==== | ||
| + | <code sh> | ||
| + | |||
| + | ===== 安裝 cronolog 讓 log 檔可自動依日期分檔 ===== | ||
| + | <code sh>yum install -y cronolog</ | ||
| + | |||
| + | * 透過下載原始碼安裝< | ||
| + | wget http:// | ||
| + | tar -zxvf cronolog-1.6.2.tar.gz | ||
| + | cd cronolog-1.6.2 | ||
| + | ./configure | ||
| + | make | ||
| + | make install | ||
| + | cd .. | ||
| + | rm -rf cronolog-1.6.2* | ||
| + | </ | ||
| + | |||
| + | ===== 安裝 RRDTool ===== | ||
| + | < | ||
| + | * RRD Tools 官方網站 : http:// | ||
| + | * RRD Tools 官方下載網站 : http:// | ||
| + | </ | ||
| + | |||
| + | <code sh> | ||
| + | yum install rrdtool | ||
| + | </ | ||
| + | |||
| + | ===== 設定 iptables ===== | ||
| + | * 依實際需要設定, | ||
| + | <code sh> | ||
| + | vi / | ||
| + | </ | ||
| + | *filter | ||
| + | :INPUT ACCEPT [0:0] | ||
| + | :FORWARD ACCEPT [0:0] | ||
| + | :OUTPUT ACCEPT [0:0] | ||
| + | : | ||
| + | -A INPUT -j RH-Firewall-1-INPUT | ||
| + | -A FORWARD -j RH-Firewall-1-INPUT | ||
| + | -A RH-Firewall-1-INPUT -i lo -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p 50 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p 51 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -m state --state ESTABLISHED, | ||
| + | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT | ||
| + | -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited | ||
| + | COMMIT | ||
| + | </ | ||
| + | service iptables restart | ||
| + | </ | ||
| + | |||
| + | ===== 設定 yum-cron 自動升級 ===== | ||
| + | * 適用 : CentOS7 | ||
| + | * 參考 : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * ++看設定語法|< | ||
| + | yum install yum-cron -y | ||
| + | systemctl start yum-cron | ||
| + | systemctl enable yum-cron | ||
| + | 預設會更新所有安裝套件, | ||
| + | vi / | ||
| + | </ | ||
| + | : | ||
| + | apply_updates = yes | ||
| + | : | ||
| + | </ | ||
| + | systemctl restart yum-cron | ||
| + | </ | ||
| + | ++ | ||
| + | |||
| + | |||
| + | {{tag> | ||