2016年6月27日 星期一

在 CentOS7/RHEL7 上安裝 Bootstrap 套件

安裝前注意事項:
  • 基本 Web 站台設定,請參考這一篇文章!
基本安裝流程:
  1. 安裝 EPEL 套件:
    #yum -y install epel-release
    
  2. 安裝 git 套件:
    #yum -y install git
    
  3. 由 GitHub 網站,下載 BootStrap 套件:
    #cd /var/www/html
    #git clone https://github.com/twbs/bootstrap.git
    
  4. 利用 Firefox 連到 BootStrap 起始網頁看看:
    http://127.0.0.1/bootstrap/docs/examples/starter-template/
參考文獻:
  1. https://github.com/twbs/bootstrap
  2. https://gist.github.com/kmassada/73678d48dcf6b23b6f0a
  3. http://getbootstrap.com/
  4. https://kkbruce.tw/bs3/Gettingstarted

2016年6月26日 星期日

在 CentOS7/RHEL7 上架設 Redis Server

基本安裝流程:
  1. 安裝 EPEL 套件:
    #yum -y install epel-release
    
  2. 安裝 redis 相關套件:
    #yum install -y redis
    
  3. 開啟防火牆設定:
    #firewall-cmd --permanent --add-port=6379/tcp
    #firewall-cmd --reload
    
  4. 啟動 Redis Server 服務:
    #systemctl enable redis.service
    #systemctl start redis.service
    
  5. 查詢開啟的 port 號:
    #netstat -antlp | grep redis
    
  6. 測試 Redis Server 服務:
    #rdis-cli ping
    
  7. ※重要設定檔:
    • /etc/redis.conf
    • /etc/redis-sentinel.conf

基本設定:
  1. 修改登入密碼:
    #vim /etc/redis.conf
    (移除前方的註解符號)
    requirepass redhat
    
  2. 重新啟動 Redis Server 服務:
    #systemctl restart redis.service
    
  3. 再次測試 Redis Server 服務:
    #redis-cli -a 'redhat' -h 192.168.5.61 ping
    

利用 PHP 連結 Redis Server:
  1. 安裝相關所需要的套件:
    #yum -y install http php php-mbstring php-mcrypt php-gd php-redis
    
  2. 重新啟動 Httpd Server 服務:
    #systemctl restart httpd.service
    
    ※注意::要開啟 Http Server 的防火牆設定:
    #firewall-cmd --permanent --add-service=http
    #firewall-cmd --reload
    

    ※注意::要開啟 SELinux 相關設定:
    #setsebool -P httpd_can_network_connect on
    
  3. 寫一支 PHP 的程式,測試是否可以運作 Redis :
    #vim /var/www/html/test.php
    (內容如下:)
    <?php
     $redis = new Redis();
     $redis->connect('127.0.0.1', 6379);
     $redis->set("foo", "bar");
     echo $redis->get("foo");
    ?>
    

安裝 Redis Server 管理後台--phpRedisAdmin:
  1. 下載 phpRedisAdmin 套件:
    #git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
    #cd phpRedisAdmin
    #git clone https://github.com/nrk/predis.git vendor
    
  2. 修改 phpRedisAdmin 連線設定:
    #cd includes/
    #cp config.sample.inc.php config.inc.php
    #vim config.inc.php
    (修改下列設定,並移去註解符號)
    'auth' => 'redhat'
    
  3. 開啟 Firefox ,輸入網址 http://127.0.0.1/phpRedisAdmin ,即可看見!

將 php 的 session ,交給 Redis Server
  1. 修改 php.ini 檔案:
    #vim /etc/php.ini
    session.save_handler = redis
    session.save_path = "tcp://192.168.1.61:6379?weight=1"
    
  2. ※注意:http://blog.51yip.com/php/1616.html
  3. 重新啟動 httpd :
    #systemctl restart httpd
    
參考文獻:
  1. https://magiclen.org/ubuntu-redis-php/
  2. https://bepsvpt.wordpress.com/2016/04/08/install-redis-and-deal-with-warning-message/
  3. https://laravel.tw/docs/5.1/redis
  4. http://www.runoob.com/redis/redis-tutorial.html
  5. http://ithelp.ithome.com.tw/articles/10105731
  6. http://kejyun.github.io/Laravel-4-Documentation-Traditional-Chinese/docs/redis/
  7. http://xyz.cinc.biz/2015/09/centos7-redis-php.html
  8. https://dotblogs.com.tw/supershowwei/2016/02/02/112238
  9. http://sharadchhetri.com/2014/10/04/install-redis-server-centos-7-rhel-7/
  10. https://github.com/erikdubbelboer/phpRedisAdmin
  11. https://bepsvpt.wordpress.com/2016/04/08/install-redis-and-deal-with-warning-message/

2016年6月21日 星期二

在 CentOS7/RHEL7 上架設 Vsftpd Server(二)

安裝前注意事項:
  • 基本 MariaDB 安裝與設定,請參考這一篇文章!

設定目標:
  • 利用 MariaDB 來管理 Vsftpd 的使用者!

快速安裝流程:
  1. 安裝 EPEL 套件:
    #rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
  2. 安裝 vsftpd 相關套件:
    #yum install -y vsftpd-*
    
  3. 在 mariadb 裡,建立給 vsftpd 專用的資料庫與資料表:
    #mysql -u root -p
    MariaDB [(none)]> CREATE DATABASE vsftpd;
    MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'a123456';
    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> USE vsftpd;
    MariaDB [vsftpd]> CREATE TABLE `accounts` )
        -> `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        -> `username` VARCHAR(100) NOT NULL,
        -> `pass` VARCHAR(200) NOT NULL,
        -> UNIQUE (`username`)
        -> )ENGINE=InnoDB, CHARSET=utf8;
    MariaDB [vsftpd]> quit;
    
  4. 新增一個實機使用者,用來配合 vsftpd 運作:
    #groupadd nogroup
    #useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
    
  5. 編輯 vsftpd 設定檔:
    #vim /etc/vsftpd/vsftpd.conf
    (修改或是新增下列設定參數:)
    anonymous_enable=NO
    nopriv_user=vsftpd
    chroot_local_user=YES
    secure_chroot_dir=/var/run/vsftpd
    rsa_cert_file=/etc/ssl/certs/vsftpd.pem
    guest_enable=YES
    guest_username=vsftpd
    local_root=/home/vsftpd/$USER
    user_sub_token=$USER
    virtual_use_local_privs=YES
    user_config_dir=/etc/vsftpd/vsftpd_user_conf
    
  6. 建立各別使用者的設定檔目錄:
    #mkdir /etc/vsftpd/vsftpd_user_conf
    #mkdir /var/run/vsftpd
    
  7. 設定 vsftpd 的 PAM 模組,使 vsftpd 在建立連線時,讀取資料庫內容:
    #cd /etc/pam.d
    #cp vsftpd /root/vsftpd.pam
    #cat /dev/null > vsftpd
    #vim vsftp
    (輸入下列兩行內容)
    auth required pam_mysql.so user=vsftpd passwd=a123456 host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
    account required pam_mysql.so user=vsftpd passwd=a123456 host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
    
  8. 開啟防火牆:
    #firewall-cmd --permanent --add-service=ftp
    #firewall-cmd --reload
    
  9. 設定 SELinux:
    #setsebool -P ftp_home_dir on
    #setsebool -P ftpd_connect_db on
    #setsebool -P ftpd_full_access on
    #setsebool -P ftpd_use_passive_mode on
    
  10. 啟動 vsftpd 服務:
    #systemctl enable vsftpd.service
    #systemctl start vsftpd.service
    
  11. 使用 TLS 通訊用的密鑰對:
    #mkdir -p /etc/ssl/private
    #chmod 700 /etc/ssl/private
    #openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
    
  12. 重新編寫 vsftpd 設定檔:
    #vim /etc/vsftpd/vsftpd.conf
    (增加下列設定:)
    ssl_enable=YES
    force_local_data_ssl=YES
    force_local_logins_ssl=YES
    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
    require_ssl_reuse=NO
    ssl_ciphers=HIGH
    rsa_cert_file=/etc/ssl/private/vsftpd.pem
    
  13. 重新啟動 vsftpd 服務:
    #systemctl restart vsftpd.service
    
  14. 建立 vsftpd 虚擬使用者:
    #mysql -u vsftpd -p
    MariaDB [(none)]> use vsftpd;
    MariaDB [vsftpd]> INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret'));
    MariaDB [vsftpd]> quit;
    
  15. 建立虚擬使用者家目錄:
    #mkdir /home/vsftpd/testuser
    #chown vsftpd:nogroup /home/vsftpd/testuser
    #chmod a-w /home/vsftpd/testuser
    #restorecon -R /home
    
缺 pam_mysql.so 模組:
  1. 利用 git 下載 pam_mysql 模組:
    #mkdir /root/pam_mysql
    #cd /root/pam_mysql
    #git clone https://github.com/NigelCunningham/pam-MySQL
    
  2. 編譯 pam_mysql 模組:
    #cd pam-MySQL/
    #yum install make gcc-c++ autoconf automake libtool rpm-build pam-devel mariadb-devel
    #./configure --with-pam-mods-dir=/usr/lib64/security --with-mysql=/bin/mysql --with-pam=/lib64/security
    
參考文獻:
  1. https://www.howtoforge.com/tutorial/virtual-hosting-with-vsftpd-and-mysql-on-ubuntu-15.10/
  2. https://wiki.centos.org/zh-tw/HowTos/VirtualVsFtpd
  3. https://access.redhat.com/solutions/3436

在 CentOS7/RHEL7 上架設 Vsftpd Server(一)

基本安裝流程:
  1. 安裝 EPEL 套件:
    #rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
  2. 安裝 vsftpd 相關套件:
    #yum install -y vsftpd-*
    
  3. 編輯 vsftpd 設定檔:
    #vim /etc/vsftpd/vsftpd.conf
    修改下列設定參數:
    anonymous_enable=NO   ##防止暱名登入
    
  4. 修改防火牆設定:
    #firewall-cmd --permanent --add-service=ftp
    #firewall-cmd --reload
    
  5. 設定啟動 vsftpd 服務:
    #systemctl enable vsftpd
    #systemctl start vsftpd
    
基本測試流程:
  1. 安裝 ftp 套件:
    #yum install -y ftp
    
  2. 使用 ftp 指令:
    #ftp 10.1.1.1
    
    (輸入帳密之後,應該看下列指令提示字元)
    ftp>
    ftp>dir
    ftp> put test.txt
    

2016年6月19日 星期日

在 CentOS7/RHEL7 上架設 Git Server

設定目標:
  • 在 Linux 上架設 Git Server ,方便專案開發的軟體可以管控軟體版本!
  • 事先準備事項:
    • 參考
快速設定流程:
  1. 利用 YUM 安裝 git 相關套件:
    #yum -y install git
    
  2. 建立一個帳號 git ,提供 git 上傳檔案用:
    #useradd -m -d /opt/git git
    #passwd git
    
  3. 切換至 git 帳號,建立一個測試用的專案:
    #su - git
    $mkdir test1
    $cd test1
    $git init --bare
    
  4. 在自己的本機 (Client 機) 上,建立一個 RSA key ,提供上傳檔案到 Git Server 用:
    $ssh-keygen -t rsa
    $ssh-copy-id -i ~/.ssh/id_dsa.pub git@gitserver
    
    測試:
    $ssh git@gitserver
    
  5. 在自己的本機上,先行進行設定:
    $git config --global user.email "test@localhost"
    $git config --global user.name "test"
    
  6. 在自己的本機上,下載剛才建立的專案來測試 Git Server:
    $cd ~
    $git clone git@gitserver:/opt/git/test1
    $cd test1
    $touch test1.txt
    $git add test1.txt
    $git commit -m "test server"
    $git push origin master
    
  7. 測試成功之後,可以將 Server 上的 git 帳號,進行功能上的限制:
    #usermod -s /bin/git-shell git
    
參考文獻:
  1. http://shazi.info/centos-%E5%AE%89%E8%A3%9D-git-server-%E5%85%B1%E4%BA%AB-repository-%E9%81%94%E5%88%B0%E5%A4%9A%E4%BA%BA%E9%96%8B%E7%99%BC%E7%92%B0%E5%A2%83/
  2. http://wznote.blogspot.tw/2014/09/instal-git-server-in-centos.html
  3. http://blog.feehi.com/linux/124.html

2016年6月15日 星期三

在 CentOS7/RHEL7 上使用 WINE 玩遊戲

設定目標:
  • 使用 WINE 玩 Windows 平台上的遊戲!
  • 事先準備事項:
    • 參考
快速設定流程:
  1. 更新 yum 相關套件:
    #yum clean all
    #yum update
    
  2. 安裝開發用工具:
    #yum groupinstall 'Development Tools'
    #yum install libX11-devel freetype-devel zlib-devel libxcb-devel
    
  3. 準備自行安裝 WINE 套件:
    #cd /usr/src
    #wget http://dl.winehq.org/wine/source/1.9/wine-1.9.9.tar.bz2
    #tar xjf wine-1.9.9.tar.bz2
    
  4. 安裝 WINE 套件:
    #cd wine-1.9.9
    #./configure  --enable-win64
    # make
    # make install
    
  5. 執行 WINE 套件:
    #wine64 --version
    #wine putty.exe
    
參考文獻:
  1. http://tecadmin.net/steps-install-wine-centos-rhel-fedora-systems/#
  2. https://appdb.winehq.org/objectManager.php?sClass=version&iId=19141

在 CentOS7/RHEL7 上架設 Steam OS

設定目標:
  • 使用 Steam OS 架設 Linux 上的遊戲下載、管理平台!
  • 事先準備事項:
    • 參考
Master 快速設定流程:
  1. 安裝 dnf 相關套件:
    #yum install dnf
    
參考文獻:
  1. http://negativo17.org/steam-for-centos-rhel-7/
  2. http://negativo17.org/steam/

2016年6月9日 星期四

在 CentOS7/RHEL7 上安裝設定 Power DNS (二)

設定目標:
  • 架設 Power DNS 的 Master & Slave Server 備援機制!
  • 事先準備事項:
    • Power DNS 服務設定,請參考這一篇的設定!
Master 快速設定流程:
  1. 參考事先準備事項,完成 Power DNS Server 的架設!
  2. 修改設定檔內容:
    #cp /etc/pdns/pdns.conf /etc/pdns/pdns.conf.orig
    #vim /etc/pdns/pdns.conf
    allow-recursion=192.168.5.0/0
    allow-axfr-ips=192.168.5.11/32
    config-dir=/etc/pdns
    daemon=yes
    disable-axfr=no
    guardian=yes
    local-address=0.0.0.0
    local-port=53
    log-dns-details=on
    log-failed-updates=on
    loglevel=4
    master=yes
    slave=no
    setgid=pdns
    setuid=pdns
    socket-dir=/var/run
    version-string=powerdns
    include-dir=/etc/pdns/pdns.d
    
  3. 重新啟動 Power DNS Server:
    #systemctl restart pdns
    

Slave 快速設定流程:
  1. 參考事先準備事項,完成 Power DNS Server 的架設!(不用安裝 phpPowerAdmin)
  2. 修改設定檔內容:
    #cp /etc/pdns/pdns.conf /etc/pdns/pdns.conf.orig
    #vim /etc/pdns/pdns.conf
    allow-recursion=0.0.0.0/0
    config-dir=/etc/pdns
    daemon=yes
    disable-axfr=yes
    guardian=yes
    local-address=0.0.0.0
    local-port=53
    log-dns-details=on
    log-failed-updates=on
    loglevel=4
    master=no
    slave=yes
    slave-cycle-interval=60
    setgid=pdns
    setuid=pdns
    socket-dir=/var/run
    version-string=powerdns
    include-dir=/etc/pdns/pdns.d
    
  3. 在 MySQL 內,增加下列表格:(有發現錯誤時才做!)
    #mysql -u powerdns -p
    MariaDB [(none)]> use powerdns;
    MariaDB [powerdns]>CREATE TABLE `domainmetadata` (
                       `id` int(11) NOT NULL AUTO_INCREMENT,
                       `domain_id` int(11) NOT NULL,
                       `kind` varchar(16) DEFAULT NULL,
                       `content` text,
                       PRIMARY KEY (`id`)
                       ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
  4. 登入 MySQL ,增加 supermaster 設定值:
    #mysql -u powerdns -p
    MariaDB [(none)]> use powerdns;
    MariaDB [powerdns]> insert into supermasters values('192.168.5.1','dns1.example.tw','admin');
    MariaDB [powerdns]> exit;
    
  5. 重新啟動 Power DNS Server:
    #systemctl restart pdns
    

參考文獻:
  1. https://www.digitalocean.com/community/tutorials/how-to-configure-dns-replication-on-a-slave-powerdns-server-on-ubuntu-14-04
  2. https://www.benjaminfleckenstein.name/en/powerdns-master-slave-howto.html
  3. http://www.debiantutorials.com/installing-powerdns-as-supermaster-with-slaves/
  4. http://jpmens.net/2013/02/13/automatic-provisioning-of-slave-dns-servers/
  5. https://doc.powerdns.com/md/authoritative/modes-of-operation/

2016年6月6日 星期一

在 CentOS7/RHEL7 上架設 PXE 系統(二)

設定目標:
  • 利用 PXE 系統,提供無硬碟 Linux 作業系統!
  • 利用 PXE 系統,提供無硬碟 Windows 作業系統!
注意事項:
  • 基本 PXE 系統設定,請參考這一篇文章!

快速設定流程(Linux):
  1. 利用 yum 安裝 tftp Server、DHCP Server、Vsftp Server 以及 syslinux 等套件:
    #yum install tftp-server dhcp syslinux vsftpd
    
快速設定流程(Windows):
  1. 利用 yum 安裝 tftp Server、DHCP Server、Vsftp Server 以及 syslinux 等套件:
    #yum install tftp-server dhcp syslinux vsftpd
    

參考文獻:
  1. http://www.tecmint.com/configure-pxe-server-to-install-windows-on-centos/
  2. http://www.tecmint.com/installing-windows-7-over-pxe-network-boot-in-centos/
  3. https://technet.microsoft.com/zh-tw/library/dd744541(v=ws.10).aspx
  4. https://technet.microsoft.com/en-us/library/cc730907(v=ws.10).aspx#Capture
  5. http://www.sandeploy.com/solutions/PXE-iSCSI-BOOT-SAN/Pxe-Boot-Windows/iSCSI-PXE-Boot-Windows-7.php
  6. http://silent.gumph.org/content/4/7/071-diskless-windows-pxe.html
  7. https://www.youtube.com/watch?v=tTJUWIj3Ikg
  8. https://jonmccune.wordpress.com/2011/12/19/diskless-windows-7-with-iscsi-and-gpxe/
  9. https://blogs.technet.microsoft.com/storageserver/2011/05/03/diskless-servers-can-boot-and-run-from-the-microsoft-iscsi-software-target-using-a-regular-network-card/

RHEL7上的 OpenStack (十三)--善用 Ceph Storage 服務(二)

Ceph 佈署與設定:
設定目標:

快速佈署流程:
  1. 利用 yum 安裝
    #yum -y install ceph-deploy
    

參考文獻:

  1. http://www.server-world.info/en/note?os=CentOS_7&p=ceph
  2. http://linoxide.com/storage/setup-red-hat-ceph-storage-centos-7-0/
  3. http://ilkerdagli.info/?p=40

RHEL7上的 OpenStack (十三)--善用 Ceph Storage 服務(一)

Ceph 簡介:
  • Ceph 存取方法圖:


  • Ceph 被設計成可彈性調整的儲存系統,可應付不同需求的儲存方式!
  • Ceph 架構包含下列幾個架構:
    • Master server:
    • Nodes:
    • Front end server:
  1. 利用 yum 安裝
    #yum install 
    

參考文獻:

  1. https://wiki.centos.org/HowTos/PXE