SlideShare a Scribd company logo
1 of 28
Download to read offline
Linux Server Admin


  Web Applications II
     Chatchai J

     2013-01-21
     2013-01-23
Apache2 VirtualHosts
●   Multiple VirtualHosts
    –   config เก็บใน /etc/apache2/sites-available

    –   enable จะ link มาเก็บใน /etc/apache2/sites-
        enabled
    –   config ใน /etc/apache2/conf.d จะใช้ได้กับทุก site
        ใน enabled sites (sites-enabled)
default virtualhosts config
●   ใน /etc/apache2/sites-available/default(+ -ssl)
    NameVirtualHosts *:80
    <VirtualHost *:80>
    …
    </VirtualHost>
●   -ssl สำาหรับ https://
    NameVirtualHosts *:443
    <VirtualHost *:443>
    …
    SSLEngine On
    SSLCertificateFile /etc/ssl/certs/...
    SSLCertificateKeyFile /etc/ssl/private/...
    …
    </VirtualHost>
site specific virtualhosts config
●   ใน /etc/apache2/sites-available/www
    NameVirtualHosts www.domain.com:80
    <VirtualHost www.domain.com:80>
    …
    </VirtualHost>
●   -ssl สำาหรับ https://
    NameVirtualHosts www.domain.com:443
    <VirtualHost www.domain.com:443>
    …
    SSLEngine On
    SSLCertificateFile /etc/ssl/certs/...
    SSLCertificateKeyFile /etc/ssl/private/...
    …
    </VirtualHost>
ปั ญหา
●   VirtualHost *:80 และ *:443 ควรจะ default catch all สำาหรับ site ที่
    ไม่ได้กำาหนด NameVirtualHost และ VirtualHost แบบ specific เอา
    ไว้

●   ยังไม่ work

●   อาจจะแก้ปัญหาแบบชั่วคราวโดยใช้
    NameVirtualHost domain.com:80
    <VirtualHost domain.com:80>
●   สำาหรับการ catch *.domain.com
phpmyadmin conf
●   โจทย์สำาหรับ phpmyadmin

    –   ต้องการให้เข้าถึงได้เฉพาะ
        https://pma.domain.com
    –   ไม่สามารถเข้าถึงได้จากทางอื่นๆ

●   default config จะ install /etc/phpmyadmin/apache.conf
    เป็ น link ใน /etc/apache2/conf.d/phpmyadmin.conf
phpmyadmin (cont)
●   วิธีการ
      $ sudo mv /etc/apache2/conf.d/phpmyadmin.conf 
         /etc/apache2/sites­available/phpmyadmin


      แก้ไข phpmyadmin

      $ sudo ln ­s /etc/apache2­sites­available/phpmyadmin 
         /etc/apache2/sites­enabled/phpmyadmin
แก้ไข phpmyadmin config ไฟล์
●   เพิ่ม NameVirtualHost และ VirtualHost
    NameVirtualHost pma.domain.com:443
    <VirtualHost pma.domain.com:443>

●   เปลี่ยน Alias เป็ น DocumentRoot
    Alias /phpmyadmin /usr/share/phpmyadmin
    เป็ น
    DocumentRoot /usr/share/phpmyadmin
แก้ไข (ต่อ)
●   เพิ่ม SSL Certificate Config

      SSLEngine on
      SSLCertificateFile    /etc/ssl/certs/ssl­cert­snakeoil.pem
      SSLCertificateKeyFile /etc/ssl/private/ssl­cert­snakeoil.key

      <FilesMatch ".(cgi|shtml|phtml|php)$">
          SSLOptions +StdEnvVars
      </FilesMatch>
●   และ ปิ ดท้าย </VirtualHost>
    $ sudo service apache2 restart

●   ทดสอบ
new self signed certificate
●   คำาสั่งในการสร้าง server key
    $ openssl genrsa ­des3 ­out server.key 2048

●   ได้ไฟล์ server.key ซึ่งมีขนาด 2048 bit สำาหรับ sign ให้
    กับไฟล์อ่ ืน

●   สร้าง key ซึ่งจะให้ web server ใช้ โดยไม่ต้องใส่
    passphrase
    $ openssl rsa ­in server.key ­out www.key
self-signed certificate (cont)
●   สร้าง new certificate request
    $ openssl req -new -key server.key -out www.csr
●   ตอบคำาถาม
    TH
    Songkla
    Hatyai
    Prince of sonkla University
    Computer Engineernig Dept
    www.coe.psu.ac.th
    sysadmin@coe.psu.ac.th
self-signed certificate (cont)
●   www.domain.com
    TH
    Songkla
    Hatyai
    Domain Com Network
    Domain Com Server
    www.domain.com
    root@domain.com
self-signed certificate (cont)
●   สร้าง certificate
    $ openssl x509 ­req ­days 3650 ­in www.csr ­signkey server.key ­out www.crt


●   จะได้ www.key กับ www.crt เอาไปใช้สำาหรับ

●   ในการสร้าง certificate/key ครั้งต่อไป สามารถใช้
    server.key ที่สร้างเอาไว้แล้วได้เลย

●   ดู genkey script
squirrelmail
●   ติดตั้ง squirrelmail
    $ sudo apt­get install squirrelmail
    $ cd /etc/apache2/conf.d
    $ sudo ln ­s /etc/squirrelmail/apache.conf squirrelmail.conf
    $ sudo service apache2 restart


●   การ config อื่นๆ
    $ sudo /etc/squirrelmail/conf.pl
squirrelmail (cont)
●   สามารถ config เพื่อเปลียน
                           ่

    –   ชื่อ, รูป, title (Organization Name/Logo/Title)

    –   IMAP, SMTP Server (ไม่ต้องอย่บน เครื่องเดียวกันกับ Web
                                     ู
        Server)
    –   Folders, Themes, Address Book (ใช้ LDAP)

    –   Plugins (มีตัวอย่าง ที่ติดตั้งแล้ง แต่ยงไม่ได้ enabled)
                                               ั
        ●   ทดลองเพิม Calendar
                    ่
roundcube
●   ติดตั้ง roundcube
    $ sudo apt­get install roundcube
    $ vi /etc/apache2/conf.d/roundcube

      เพิ่ม Alias /roundcube /var/lib/roundcube

    $ sudo service apache2 restart


●   http://www.domain.com/roundcube
●   ติดตั้งแล้วไม่สามารถใช้งานได้
    Database Error Connection Failed!
●   จะแก้ไข error อย่างไร?

●   ดูใน log ของ roundcube
    /var/log/roundcube/error.log
roundcube (cont)
●   วิธีการอื่น

●   แก้ไข config ของ เพื่อเพิ่ม debug_level

    ไฟล์ /etc/roundcube/main.inc.php
    $rcmail_config['debug_level'] = 1;

    เปลี่ยน
    $rcmail_config['debug_level'] = 4;



●   reload http://www.domain.com/roundcube
roundcube (cont)
●   แก้ไข
    $ sudo apt­get install php­mdb2­driver­mysql

●   ทดสอบ
    –   Server = localhost
●   config ต่อ
    –   debug_level = 1
●   ไม่ต้องเลือก host และระบุ domain
    $rcmail_config['default_host'] = 'localhost';
    $rcmail_config['mail_domain'] = 'domain.com';
shell using web interface
●   get shell in a box from
    http://shellinabox.googlecode.com/files/shellinabox-2.14.tar.gz

●   ติดตั้ง
    $ wget http://shellinabox.googlecode.com/files/shellinabox­2.14.tar.gz
    $ tar ­zxvf shellinabox­2.14.tar.gz
    $ cd shellinabox­2.14
    $ ./configure
    $ make
    $ sudo make install


●   ทดสอบ
    $ /usr/local/bin/shellinaboxd &
    $ firefox http://www.domain.com:4200
shell using web interface
●   ใช้งานจริง เพิ่มบรรทัดใน /etc/rc.local
    /usr/local/bin/shellinaboxd ­­localhost­only & 

●   ก่อน exit 0

●   config ให้ใช้งานได้เฉพาะ localhost
    ต้องการที่จะเข้าถึงจาก remote host ทำาอย่างไร?
●   apache2 proxy_http
shell-in-abox config
●   ติดตั้ง mod proxy, proxy_http สำาหรับ apache2
       $ sudo a2enmod proxy proxy_http

●   config
     NameVirtualHost shell.domain.com:443
     <VirtualHost shell.domain.com:443>
         ServerAdmin webmaster@localhost
         ServerName shell.domain.com
         <Location />
              ProxyPass http://localhost:4200/
         </Location>

         ErrorLog ${APACHE_LOG_DIR}/shell­ssl­error.log
         LogLevel info
         CustomLog ${APACHE_LOG_DIR}/shell­ssl­access.log combined

         SSLEngine on
         SSLCertificateFile    /root/ssl/shell.crt
         SSLCertificateKeyFile /root/ssl/shell.key
     </VirtualHost>
shell-in-abox ทดสอบ
●   https://shell.domain.com
●   ดูตัวอย่าง config ที่ fivedots:~cj/LSA/shell-ssl
wordpress
●   install wordpress
    $ sudo apt­get install wordpress
    $ cd /usr/share/doc/wordpress/examples
    $ sudo bash setup­mysql ­n wordpress blog.domain.com
    $ sudo vi /etc/apache2/sites­available/blog
●   ดูตัวอย่าง slide หน้าถัดไป
    $ cd /etc/apache2/sites­enabled
    $ sudo ln ­s ../sites­available/blog .
    $ sudo service apache2 restart
    $ firefox http://blog.domain.com
●   config login/password, email
●   ที่เหลือ ไปหาค่มือ wordpress มาอ่าน
                   ู
apache's blog virtualhost
NameVirtualHost blog.domain.com:80
<VirtualHost blog.domain.com:80>
   ServerAdmin webmaster@localhost

   ServerName blog.domain.com.net
   DocumentRoot /usr/share/wordpress

   ErrorLog ${APACHE_LOG_DIR}/wp­error.log
   LogLevel info
   CustomLog ${APACHE_LOG_DIR}/wp­access.log combined
</VirtualHost>
webmin
●   download จาก
    http://www.webmin.com/download.html
●   หรือ fivedots:~cj/LSA/webmin-1.610_all.deb
    $ sudo apt­get install libnet­ssleay­perl 
       libauthen­pam­perl 
       libio­pty­perl 
       libapt­pkg­perl 
       apt­show­version

    $ sudo dpkg ­i webmin_1.610_all.deb
webmin (cont)
●   https://localhost:10000
    login: root
    passwd: ****
●   ขอให้ใช้งานด้วยความระมัดระวัง
    จำานวน module ที่มาก
    ทำาให้มีโอกาส ที่จะมีปัญหามาก

●   โดยส่วนตัว แนะนำาให้ใช้ secure shell

●   โดยส่วนตัว ผมไม่ใช้ webmin
VirtualHost setup for WebApp
●   ติดตั้ง webapp
    $ sudo apt-get install webapp
●   Default config จะอยู่ใน
    /etc/webapp/apache.conf
●   จะต้อง link มาเป็ น
    /etc/apache2/conf.d/webapp.conf
●   จะใช้งาน http://localhost/webapp ได้
●   https://localhost/webapp หรือ
    https://www.domain.com/webapp ควรจะใช้
    งานได้โดยอัตโนมัติ

●   ถ้า enable module ssl เอาไว้แล้ว

More Related Content

Viewers also liked

Essential Linux Commands for DBAs
Essential Linux Commands for DBAsEssential Linux Commands for DBAs
Essential Linux Commands for DBAsGokhan Atil
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsGokhan Atil
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutesLarry Cai
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerJérôme Petazzoni
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersJérôme Petazzoni
 
Why Docker
Why DockerWhy Docker
Why DockerdotCloud
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSFrank Munz
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of EverythingCharbel Zeaiter
 

Viewers also liked (17)

Ch01 administrators-tasks
Ch01 administrators-tasksCh01 administrators-tasks
Ch01 administrators-tasks
 
Essential Linux Commands for DBAs
Essential Linux Commands for DBAsEssential Linux Commands for DBAs
Essential Linux Commands for DBAs
 
Ch17 secure-password
Ch17 secure-passwordCh17 secure-password
Ch17 secure-password
 
CompTIA Linux+
CompTIA Linux+CompTIA Linux+
CompTIA Linux+
 
Ch10 web servers
Ch10 web serversCh10 web servers
Ch10 web servers
 
Editors for-linux
Editors for-linuxEditors for-linux
Editors for-linux
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
 
Virtualbox networking
Virtualbox networkingVirtualbox networking
Virtualbox networking
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutes
 
Ch09 mail-systems-part2
Ch09 mail-systems-part2Ch09 mail-systems-part2
Ch09 mail-systems-part2
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of Everything
 

Similar to Ch12 web-app-part2

Server2Go เว็บพกพาตัวจริง
Server2Go เว็บพกพาตัวจริงServer2Go เว็บพกพาตัวจริง
Server2Go เว็บพกพาตัวจริงBoonlert Aroonpiboon
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05Jenchoke Tachagomain
 
Portable Moodle : Moodle & Server2Go
Portable Moodle  : Moodle & Server2GoPortable Moodle  : Moodle & Server2Go
Portable Moodle : Moodle & Server2GoBoonlert Aroonpiboon
 
Multi threaded programming in c and c++ 2021-09-03
Multi threaded programming in c and c++ 2021-09-03Multi threaded programming in c and c++ 2021-09-03
Multi threaded programming in c and c++ 2021-09-03KIMVR1
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 gotaweesit doh
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 govongboonrod
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 govongboonrod
 
wordpress-server2
wordpress-server2 wordpress-server2
wordpress-server2 Nan Anan
 

Similar to Ch12 web-app-part2 (20)

Docker 1st time
Docker 1st timeDocker 1st time
Docker 1st time
 
Docker 101 for developer
Docker 101 for developerDocker 101 for developer
Docker 101 for developer
 
Cent os
Cent osCent os
Cent os
 
Ch08 mail-systems
Ch08 mail-systemsCh08 mail-systems
Ch08 mail-systems
 
Iis7on microsoftwindows2008
Iis7on microsoftwindows2008Iis7on microsoftwindows2008
Iis7on microsoftwindows2008
 
Red5 workshop
Red5 workshopRed5 workshop
Red5 workshop
 
Ch05 name-services
Ch05 name-servicesCh05 name-services
Ch05 name-services
 
Server2Go เว็บพกพาตัวจริง
Server2Go เว็บพกพาตัวจริงServer2Go เว็บพกพาตัวจริง
Server2Go เว็บพกพาตัวจริง
 
VBoxManage tutorial
VBoxManage tutorialVBoxManage tutorial
VBoxManage tutorial
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
 
Portable Moodle : Moodle & Server2Go
Portable Moodle  : Moodle & Server2GoPortable Moodle  : Moodle & Server2Go
Portable Moodle : Moodle & Server2Go
 
Multi threaded programming in c and c++ 2021-09-03
Multi threaded programming in c and c++ 2021-09-03Multi threaded programming in c and c++ 2021-09-03
Multi threaded programming in c and c++ 2021-09-03
 
NETWORK SERVICEOPENSSH + NTP + SQUID
NETWORK SERVICEOPENSSH + NTP + SQUIDNETWORK SERVICEOPENSSH + NTP + SQUID
NETWORK SERVICEOPENSSH + NTP + SQUID
 
php5new
php5newphp5new
php5new
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
20100806 wordpress-server2 go
20100806 wordpress-server2 go20100806 wordpress-server2 go
20100806 wordpress-server2 go
 
wordpress-server2
wordpress-server2 wordpress-server2
wordpress-server2
 

Ch12 web-app-part2

  • 1. Linux Server Admin Web Applications II Chatchai J 2013-01-21 2013-01-23
  • 2. Apache2 VirtualHosts ● Multiple VirtualHosts – config เก็บใน /etc/apache2/sites-available – enable จะ link มาเก็บใน /etc/apache2/sites- enabled – config ใน /etc/apache2/conf.d จะใช้ได้กับทุก site ใน enabled sites (sites-enabled)
  • 3. default virtualhosts config ● ใน /etc/apache2/sites-available/default(+ -ssl) NameVirtualHosts *:80 <VirtualHost *:80> … </VirtualHost> ● -ssl สำาหรับ https:// NameVirtualHosts *:443 <VirtualHost *:443> … SSLEngine On SSLCertificateFile /etc/ssl/certs/... SSLCertificateKeyFile /etc/ssl/private/... … </VirtualHost>
  • 4. site specific virtualhosts config ● ใน /etc/apache2/sites-available/www NameVirtualHosts www.domain.com:80 <VirtualHost www.domain.com:80> … </VirtualHost> ● -ssl สำาหรับ https:// NameVirtualHosts www.domain.com:443 <VirtualHost www.domain.com:443> … SSLEngine On SSLCertificateFile /etc/ssl/certs/... SSLCertificateKeyFile /etc/ssl/private/... … </VirtualHost>
  • 5. ปั ญหา ● VirtualHost *:80 และ *:443 ควรจะ default catch all สำาหรับ site ที่ ไม่ได้กำาหนด NameVirtualHost และ VirtualHost แบบ specific เอา ไว้ ● ยังไม่ work ● อาจจะแก้ปัญหาแบบชั่วคราวโดยใช้ NameVirtualHost domain.com:80 <VirtualHost domain.com:80> ● สำาหรับการ catch *.domain.com
  • 6. phpmyadmin conf ● โจทย์สำาหรับ phpmyadmin – ต้องการให้เข้าถึงได้เฉพาะ https://pma.domain.com – ไม่สามารถเข้าถึงได้จากทางอื่นๆ ● default config จะ install /etc/phpmyadmin/apache.conf เป็ น link ใน /etc/apache2/conf.d/phpmyadmin.conf
  • 7. phpmyadmin (cont) ● วิธีการ $ sudo mv /etc/apache2/conf.d/phpmyadmin.conf     /etc/apache2/sites­available/phpmyadmin แก้ไข phpmyadmin $ sudo ln ­s /etc/apache2­sites­available/phpmyadmin     /etc/apache2/sites­enabled/phpmyadmin
  • 8. แก้ไข phpmyadmin config ไฟล์ ● เพิ่ม NameVirtualHost และ VirtualHost NameVirtualHost pma.domain.com:443 <VirtualHost pma.domain.com:443> ● เปลี่ยน Alias เป็ น DocumentRoot Alias /phpmyadmin /usr/share/phpmyadmin เป็ น DocumentRoot /usr/share/phpmyadmin
  • 9. แก้ไข (ต่อ) ● เพิ่ม SSL Certificate Config SSLEngine on SSLCertificateFile    /etc/ssl/certs/ssl­cert­snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl­cert­snakeoil.key <FilesMatch ".(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> ● และ ปิ ดท้าย </VirtualHost> $ sudo service apache2 restart ● ทดสอบ
  • 10. new self signed certificate ● คำาสั่งในการสร้าง server key $ openssl genrsa ­des3 ­out server.key 2048 ● ได้ไฟล์ server.key ซึ่งมีขนาด 2048 bit สำาหรับ sign ให้ กับไฟล์อ่ ืน ● สร้าง key ซึ่งจะให้ web server ใช้ โดยไม่ต้องใส่ passphrase $ openssl rsa ­in server.key ­out www.key
  • 11. self-signed certificate (cont) ● สร้าง new certificate request $ openssl req -new -key server.key -out www.csr ● ตอบคำาถาม TH Songkla Hatyai Prince of sonkla University Computer Engineernig Dept www.coe.psu.ac.th sysadmin@coe.psu.ac.th
  • 12. self-signed certificate (cont) ● www.domain.com TH Songkla Hatyai Domain Com Network Domain Com Server www.domain.com root@domain.com
  • 13. self-signed certificate (cont) ● สร้าง certificate $ openssl x509 ­req ­days 3650 ­in www.csr ­signkey server.key ­out www.crt ● จะได้ www.key กับ www.crt เอาไปใช้สำาหรับ ● ในการสร้าง certificate/key ครั้งต่อไป สามารถใช้ server.key ที่สร้างเอาไว้แล้วได้เลย ● ดู genkey script
  • 14. squirrelmail ● ติดตั้ง squirrelmail $ sudo apt­get install squirrelmail $ cd /etc/apache2/conf.d $ sudo ln ­s /etc/squirrelmail/apache.conf squirrelmail.conf $ sudo service apache2 restart ● การ config อื่นๆ $ sudo /etc/squirrelmail/conf.pl
  • 15. squirrelmail (cont) ● สามารถ config เพื่อเปลียน ่ – ชื่อ, รูป, title (Organization Name/Logo/Title) – IMAP, SMTP Server (ไม่ต้องอย่บน เครื่องเดียวกันกับ Web ู Server) – Folders, Themes, Address Book (ใช้ LDAP) – Plugins (มีตัวอย่าง ที่ติดตั้งแล้ง แต่ยงไม่ได้ enabled) ั ● ทดลองเพิม Calendar ่
  • 16. roundcube ● ติดตั้ง roundcube $ sudo apt­get install roundcube $ vi /etc/apache2/conf.d/roundcube เพิ่ม Alias /roundcube /var/lib/roundcube $ sudo service apache2 restart ● http://www.domain.com/roundcube ● ติดตั้งแล้วไม่สามารถใช้งานได้ Database Error Connection Failed! ● จะแก้ไข error อย่างไร? ● ดูใน log ของ roundcube /var/log/roundcube/error.log
  • 17. roundcube (cont) ● วิธีการอื่น ● แก้ไข config ของ เพื่อเพิ่ม debug_level ไฟล์ /etc/roundcube/main.inc.php $rcmail_config['debug_level'] = 1; เปลี่ยน $rcmail_config['debug_level'] = 4; ● reload http://www.domain.com/roundcube
  • 18. roundcube (cont) ● แก้ไข $ sudo apt­get install php­mdb2­driver­mysql ● ทดสอบ – Server = localhost ● config ต่อ – debug_level = 1 ● ไม่ต้องเลือก host และระบุ domain $rcmail_config['default_host'] = 'localhost'; $rcmail_config['mail_domain'] = 'domain.com';
  • 19. shell using web interface ● get shell in a box from http://shellinabox.googlecode.com/files/shellinabox-2.14.tar.gz ● ติดตั้ง $ wget http://shellinabox.googlecode.com/files/shellinabox­2.14.tar.gz $ tar ­zxvf shellinabox­2.14.tar.gz $ cd shellinabox­2.14 $ ./configure $ make $ sudo make install ● ทดสอบ $ /usr/local/bin/shellinaboxd & $ firefox http://www.domain.com:4200
  • 20. shell using web interface ● ใช้งานจริง เพิ่มบรรทัดใน /etc/rc.local /usr/local/bin/shellinaboxd ­­localhost­only &  ● ก่อน exit 0 ● config ให้ใช้งานได้เฉพาะ localhost ต้องการที่จะเข้าถึงจาก remote host ทำาอย่างไร? ● apache2 proxy_http
  • 21. shell-in-abox config ● ติดตั้ง mod proxy, proxy_http สำาหรับ apache2 $ sudo a2enmod proxy proxy_http ● config NameVirtualHost shell.domain.com:443 <VirtualHost shell.domain.com:443> ServerAdmin webmaster@localhost ServerName shell.domain.com <Location /> ProxyPass http://localhost:4200/ </Location> ErrorLog ${APACHE_LOG_DIR}/shell­ssl­error.log LogLevel info CustomLog ${APACHE_LOG_DIR}/shell­ssl­access.log combined SSLEngine on SSLCertificateFile    /root/ssl/shell.crt SSLCertificateKeyFile /root/ssl/shell.key </VirtualHost>
  • 22. shell-in-abox ทดสอบ ● https://shell.domain.com ● ดูตัวอย่าง config ที่ fivedots:~cj/LSA/shell-ssl
  • 23. wordpress ● install wordpress $ sudo apt­get install wordpress $ cd /usr/share/doc/wordpress/examples $ sudo bash setup­mysql ­n wordpress blog.domain.com $ sudo vi /etc/apache2/sites­available/blog ● ดูตัวอย่าง slide หน้าถัดไป $ cd /etc/apache2/sites­enabled $ sudo ln ­s ../sites­available/blog . $ sudo service apache2 restart $ firefox http://blog.domain.com ● config login/password, email ● ที่เหลือ ไปหาค่มือ wordpress มาอ่าน ู
  • 24. apache's blog virtualhost NameVirtualHost blog.domain.com:80 <VirtualHost blog.domain.com:80> ServerAdmin webmaster@localhost ServerName blog.domain.com.net DocumentRoot /usr/share/wordpress ErrorLog ${APACHE_LOG_DIR}/wp­error.log LogLevel info CustomLog ${APACHE_LOG_DIR}/wp­access.log combined </VirtualHost>
  • 25. webmin ● download จาก http://www.webmin.com/download.html ● หรือ fivedots:~cj/LSA/webmin-1.610_all.deb $ sudo apt­get install libnet­ssleay­perl     libauthen­pam­perl     libio­pty­perl     libapt­pkg­perl     apt­show­version $ sudo dpkg ­i webmin_1.610_all.deb
  • 26. webmin (cont) ● https://localhost:10000 login: root passwd: **** ● ขอให้ใช้งานด้วยความระมัดระวัง จำานวน module ที่มาก ทำาให้มีโอกาส ที่จะมีปัญหามาก ● โดยส่วนตัว แนะนำาให้ใช้ secure shell ● โดยส่วนตัว ผมไม่ใช้ webmin
  • 27. VirtualHost setup for WebApp ● ติดตั้ง webapp $ sudo apt-get install webapp ● Default config จะอยู่ใน /etc/webapp/apache.conf ● จะต้อง link มาเป็ น /etc/apache2/conf.d/webapp.conf ● จะใช้งาน http://localhost/webapp ได้
  • 28. https://localhost/webapp หรือ https://www.domain.com/webapp ควรจะใช้ งานได้โดยอัตโนมัติ ● ถ้า enable module ssl เอาไว้แล้ว