Problem
When uploading a WAR file larger than 50 MB, the Tomcat 7 Manager application reports:
The server encountered an internal error () that prevented it from fulfilling this request.
Exception java.lang.IllegalStateException:
org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException:
the request was rejected because its size (XXX) exceeds the configured maximum (52428800)
Solution
Go to the web.xml of the manager application (for instance it could be under /tomcat7/webapps/manager/WEB-INF/web.xml.
Increase the max-file-size and max-request-size:
<multipart-config>
<!– 50MB max –>
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
Nguon Internet.
Search This Blog
Thursday, September 29, 2011
Tang dung luong file upload cho Tomcat Apache
Cài đặt Apache Tomcat 7 trên Centos 5/RHEL 5
Bài viết này sẽ hướng dẫn cài đặt Apache Tomcat 7 trên Centos 5. Thông tin về Apache Tomcat và những tính năng mới cũng như những cải thiện trong phiên bản 7 có thể tham khảo tại đây.
Trong bài viết này chúng ta sẽ cài JDK, Apache Tomcat 7 và cấu hình Apache Tomcat tự động chạy lúc Centos khởi động cũng như cấu hình Apache Tomcat chạy dưới quyền người dùng (user) bình thường.
Để bắt đầu chúng ta sẽ cài đặt JDK. Apache Tomcat 7 yêu cầu tối thiểu là JDK 1.6!
Bước 1: Cài đặt JDK
Có thể bỏ qua bước này nếu đã cài phiên JDK tối thiểu mà Apache Tomcat 7 yêu cầu.
Chúng ta sẽ tiến hành tải JDK tại : đây. Chúng ta tải bản JDK mới nhất, vào thời điểm viết bài này bản JDK mới nhất là : JDK 6 Update 25, tùy vào phiên bản hệ điều hành đang sử dụng để chọn và tải JDK phù hợp. Ở đây do chúng ta đang sử dụng Centos 5 (32bit) nên chúng ta đã tải được bản tập tin : jdk-6u25-linux-i586.bin và lưu nó ở /root/java/ bây giờ chúng ta sẽ tiến hành cài đặt JDK theo các bước sau :
Nếu Apache Tomcat không start được thì vui lòng kiểm tra lỗi tại /opt/apache-tomcat-7.0.12/logs/catalina.out
Bước 4: Cấu hình truy cập Tomcat Manager
Vì lí do bảo mật Apache Tomcat 7 không tạo sẵn bất kì người dùng và mật khẩu mặc định nào cho Tomcat Manager. Nếu như chúng ta muốn sử dụng thì chỉnh sửa nội dung tập tin $CATALINA_HOME/conf/tomcat-users.xml
Trong bài viết này chúng ta sẽ cài JDK, Apache Tomcat 7 và cấu hình Apache Tomcat tự động chạy lúc Centos khởi động cũng như cấu hình Apache Tomcat chạy dưới quyền người dùng (user) bình thường.
Để bắt đầu chúng ta sẽ cài đặt JDK. Apache Tomcat 7 yêu cầu tối thiểu là JDK 1.6!
Bước 1: Cài đặt JDK
Có thể bỏ qua bước này nếu đã cài phiên JDK tối thiểu mà Apache Tomcat 7 yêu cầu.
Chúng ta sẽ tiến hành tải JDK tại : đây. Chúng ta tải bản JDK mới nhất, vào thời điểm viết bài này bản JDK mới nhất là : JDK 6 Update 25, tùy vào phiên bản hệ điều hành đang sử dụng để chọn và tải JDK phù hợp. Ở đây do chúng ta đang sử dụng Centos 5 (32bit) nên chúng ta đã tải được bản tập tin : jdk-6u25-linux-i586.bin và lưu nó ở /root/java/ bây giờ chúng ta sẽ tiến hành cài đặt JDK theo các bước sau :
[root@centos-server java]# mkdir /usr/java/Khi cài đặt thành công chúng ta sẽ nhận được kết quả tương tư như dưới đây:
[root@centos-server java]# cd /usr/java/
[root@centos-server java]# sh /root/java/jdk-6u25-linux-i586.bin
Java(TM) SE Development Kit 6 successfully installed.Tiếp đến chúng ta sẽ tiến hành thiết lập biến môi trường JAVA_HOME:
Product Registration is FREE and includes many benefits:
* Notification of new versions, patches, and updates
* Special offers on Oracle products, services and training
* Access to early releases and documentation
Product and system data will be collected. If your configuration
supports a browser, the JDK Product Registration form will
be presented. If you do not register, none of this information
will be saved. You may also register your JDK later by
opening the register.html file (located in the JDK installation
directory) in a browser.
For more information on what data Registration collects and
how it is managed and used, see:
http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html
Press Enter to continue…..
[root@centos-server java]# JAVA_HOME=/usr/java/jdk1.6.0_25/
[root@centos-server java]# export JAVA_HOME
[root@centos-server java]# PATH=$JAVA_HOME/bin:$PATH
[root@centos-server java]# export PATH
Để thiết lập biến JAVA_HOME cho người dùng vĩnh viễn chúng ta có thể thêm những trên vào tập tin ~/.bashrc hay ~/.bash_profile của người dùng và cũng có thể thêm vào /etc/profile để có hiệu lực cho tất cả người dùng. Kiểm tra lại bằng lệnh sau:
[root@centos-server java]# echo $JAVA_HOME
/usr/java/jdk1.6.0_25/
Bước 2: Cài đặt Apache Tomcat
Tải Apache Tomcat phiên bản 7 tại đây.
Chúng ta đã tải và lưu Apache Tomcat 7 vào thư mục /opt/, kế tiếp chúng ta sẽ tiến hành giải nén tập tin Apache Tomcat vừa tải được:
Tải Apache Tomcat phiên bản 7 tại đây.
Chúng ta đã tải và lưu Apache Tomcat 7 vào thư mục /opt/, kế tiếp chúng ta sẽ tiến hành giải nén tập tin Apache Tomcat vừa tải được:
[root@centos-server java]# cd /opt/
[root@centos-server opt]# tar -xvf apache-tomcat-7.0.12.tar.gz
Kết thúc chúng giải nén được Apache Tomcat 7 nằm tại: /opt/apache-tomcat-7.0.12/
Bước 3: Cấu hình Apache Tomcat chạy như một dịch vụ
Để Apache Tomcat có thể dễ dàng Start, Stop, Restart và tự động chạy khi Centos khởi động nên chúng ta tạo đoạn init script như sau:
Bước 3: Cấu hình Apache Tomcat chạy như một dịch vụ
Để Apache Tomcat có thể dễ dàng Start, Stop, Restart và tự động chạy khi Centos khởi động nên chúng ta tạo đoạn init script như sau:
[root@centos-server opt]# vi /etc/init.d/tomcat
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/jdk1.6.0_25
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/opt/apache-tomcat-7.0.12
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sleep 1
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
Trong đoạn script trên biến CATALINA_HOME phải trỏ về thư mục chứa Apache Tomcat (/opt/apache-tomcat-7.0.12/)
Cấp quyền thực thi cho tập tin /etc/init.d/tomcat :
Cấp quyền thực thi cho tập tin /etc/init.d/tomcat :
[root@centos-server opt]# chmod +x /etc/init.d/tomcatTiếp tục sử dụng công cụ chkconfig để cấu hình cho Tomcat chạy lúc Centos khởi động ( ở đây ví dụ Tomcat tự động chạy ở runlevel 2,3,4) :
[root@centos-server opt]# chkconfig –add tomcatKiểm tra lại:
[root@centos-server opt]# chkconfig –level 234 tomcat on
[root@centos-server opt]# chkconfig –list tomcatBây giờ chúng ta sẽ tiến hành Start Apache Tomcat:
tomcat 0:off 1:off 2:on 3:on 4:on 5:off 6:off
[root@centos-server opt]# service tomcat startChúng ta truy cập bằng HTTP vào cổng mặc định 8080 để kiếm tra ( ví dụ http://192.168.1.3:8080). Nếu Apache Tomcat start thành công sẽ nhìn thấy tương tự như sau:
Using CATALINA_BASE: /opt/apache-tomcat-7.0.12
Using CATALINA_HOME: /opt/apache-tomcat-7.0.12
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.12/temp
Using JRE_HOME: /usr/java/jdk1.6.0_25
Using CLASSPATH: /opt/apache-tomcat-7.0.12/bin/bootstrap.jar:/opt/apache-tomcat-7.0.12/bin/tomcat-juli.jar
Nếu Apache Tomcat không start được thì vui lòng kiểm tra lỗi tại /opt/apache-tomcat-7.0.12/logs/catalina.out
Bước 4: Cấu hình truy cập Tomcat Manager
Vì lí do bảo mật Apache Tomcat 7 không tạo sẵn bất kì người dùng và mật khẩu mặc định nào cho Tomcat Manager. Nếu như chúng ta muốn sử dụng thì chỉnh sửa nội dung tập tin $CATALINA_HOME/conf/tomcat-users.xml
[root@centos-server /]# vi /opt/apache-tomcat-7.0.12/conf/tomcat-users.xml
Nội dung tập tin tomcat-users.xml
Với role “manager-gui” chúng ta có thể truy cập vào Manager App và Server Status như hình dưới đây:
Apache Tomcat 7 còn có các role khác như : admin-gui, admin-script…
Khi chỉnh sửa tập tin tomcat-users.xml vui lòng restart Apache Tomcat lại để có hiệu lực.
Bước 5: Cấu hình Apache Tomcat chạy dưới quyền người dùng bình thường
Chúng ta tạo người dùng tên “tomcat” và gán quyển thư mục Apache Tomcat cho người dùng “tomcat”:
Với role “manager-gui” chúng ta có thể truy cập vào Manager App và Server Status như hình dưới đây:
Apache Tomcat 7 còn có các role khác như : admin-gui, admin-script…
Khi chỉnh sửa tập tin tomcat-users.xml vui lòng restart Apache Tomcat lại để có hiệu lực.
Bước 5: Cấu hình Apache Tomcat chạy dưới quyền người dùng bình thường
Chúng ta tạo người dùng tên “tomcat” và gán quyển thư mục Apache Tomcat cho người dùng “tomcat”:
[root@centos-server /]# useradd -d /opt/apache-tomcat-7.0.12 tomcatVà tiến hành chỉnh sửa tập tin /etc/init.d/tomcat thành như sau:
[root@centos-server /]# chown -R tomcat:tomcat /opt/apache-tomcat-7.0.12/
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/jdk1.6.0_25
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/opt/apache-tomcat-7.0.12
case $1 in
start)
/bin/su tomcat $CATALINA_HOME/bin/startup.sh
;;
stop)
/bin/su tomcat sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
/bin/su tomcat sh $CATALINA_HOME/bin/shutdown.sh
sleep 1
/bin/su tomcat sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
Bước 6: Cấu hình Apache Tomcat chạy cổng 80 với quyền người dùng bình thường
Trong Linux để chạy cổng dưới 1024 thì cần quyền root tuy nhiên chúng ta có thể sử dụng iptables để giải quyển vấn đề này như sau:
Trong Linux để chạy cổng dưới 1024 thì cần quyền root tuy nhiên chúng ta có thể sử dụng iptables để giải quyển vấn đề này như sau:
[root@centos-server /]# iptables -t nat -A PREROUTING -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 8080
Bài viết đến đây là kết thúc. Mọi đóng góp xin gửi về admin[at]mrhien[dot]info . Xin chân thành cảm ơn.
Nguon Internet.
Wednesday, September 14, 2011
Không Start được service Windown firewall/ Internet connetion sharing( ICS)
Start => Run => gõ lệnh netsh winsock reset rùi ok. reset lại máy là oke
Nguon Internet.
Nguon Internet.
Thursday, July 14, 2011
Setup Openvpn server on Centos
Install OpenVPN and create virtual private network. This example is based on the environment below. ( [172.16.2.1] is private range's IP, but I use it to explain, pleae look it as your own grobal IP.) (1) VPN Server [172.16.2.1] - Grobal IP address [192.168.0.17] - eth0 [192.168.0.4] - br0 - create it for bridge (2) VPN Client(Windows) [10.0.0.2] - original one [192.168.0.??] - given from VPN server By the way, it's neccesary to set some configs on your router for NAT/Port forwarding. The used protocol and listening port by default on VPN server is UDP/1194. Speaking on an example here, a request to 1194 with UDP from internet is needed to forward to 192.168.0.4/1194 in LAN. | |
[1] | Install and configure OpenVPN |
# install from DAG [root@ns ~]# yum --enablerepo=dag -y install openvpn bridge-utils [root@ns ~]# cp /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/ [root@ns ~]# vi /etc/openvpn/server.conf # line 53: change dev tap0 # line 78: change ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key # line 87: change dh /etc/openvpn/easy-rsa/keys/dh1024.pem # line 96: make it comment # server 10.8.0.0 255.255.255.0# line 103: make it comment # ifconfig-pool-persist ipp.txt# line 115: change ( [VPN server's IP] [subnetmask] [IP range given to client] ) server-bridge 192.168.0.4 255.255.255.0 192.168.0.50 192.168.0.100 # line 125: change ( [VPN server's network] [subnetmask] ) push "route 192.168.0.0 255.255.255.0 "# line 267: change status /var/log/openvpn-status.log # line 276: change log /var/log/openvpn.log log-append /var/log/openvpn.log |
[2] | Create CA Certificate and key |
[root@ns ~]# cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa /etc/openvpn/ [root@ns ~]# cd /etc/openvpn/easy-rsa/ [root@ns easy-rsa]# mkdir keys [root@ns easy-rsa]# vi vars # line 45: change for your environment export KEY_COUNTRY= JP export KEY_PROVINCE= Hiroshima export KEY_CITY= Hiroshima export KEY_ORG=" server-linux.info "export KEY_EMAIL=" root@server-linux.info "[root@ns easy-rsa]# chmod 700 vars [root@ns easy-rsa]# . ./vars NOTE: when you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys [root@ns easy-rsa]# chmod 700 clean-all [root@ns easy-rsa]# ./clean-all [root@ns easy-rsa]# chmod 700 build-ca [root@ns easy-rsa]# ./build-ca Generating a 1024 bit RSA private key .........................................++++++ ...............................++++++ writing new private key to 'ca.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [JP]: # Enter State or Province Name (full name) [Hiroshima]: # Enter Locality Name (eg, city) [Hiroshima]: # Enter Organization Name (eg, company) [server-linux.info]: # Enter Organizational Unit Name (eg, section) []: # Enter Common Name (eg, your name or your server's hostname) []: server-ca # input Email Address [root@server-linux.info]: # Enter |
[3] | "ca.crt" is created under /etc/openvpn/easy-rsa/keys/. Please download it on your client PC by FTP or SFTP. |
[4] | Create server Certificate and key |
[root@ns easy-rsa]# chmod 700 build-key-server [root@ns easy-rsa]# ./build-key-server server Generating a 1024 bit RSA private key ....++++++ .......................++++++ writing new private key to 'server.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [JP]: # Enter State or Province Name (full name) [Hiroshima]: # Enter Locality Name (eg, city) [Hiroshima]: # Enter Organization Name (eg, company) [server-linux.info]: # Enter Organizational Unit Name (eg, section) []: # Enter Common Name (eg, your name or your server's hostname) []: server # input Email Address [root@server-linux.info]: # Enter Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # Enter An optional company name []: # Enter Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'JP' stateOrProvinceName :PRINTABLE:'Hiroshima' localityName :PRINTABLE:'Hiroshima' organizationName :PRINTABLE:'server-linux.info' commonName :PRINTABLE:'server' emailAddress :IA5STRING:'root@server-linux.info' Certificate is to be certified until Sep 4 14:11:20 2018 GMT (3650 days) Sign the certificate? [y/n]: y 1 out of 1 certificate requests certified, commit? [y/n] y Write out database with 1 new entries Data Base Updated |
[5] | create Diffie Hellman ( DH ) |
[root@ns easy-rsa]# chmod 700 build-dh [root@ns easy-rsa]# ./build-dh Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time |
[6] | Create client Certificate and key |
[root@ns easy-rsa]# chmod 700 build-key-pass [root@ns easy-rsa]# ./build-key-pass client Generating a 1024 bit RSA private key ......++++++ .......................++++++ writing new private key to 'client.key' Enter PEM pass phrase: # set pass-phrase Verifying - Enter PEM pass phrase: # verify ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [JP]: # Enter State or Province Name (full name) [Hiroshima]: # Enter Locality Name (eg, city) [Hiroshima]: # Enter Organization Name (eg, company) [server-linux.info]: # Enter Organizational Unit Name (eg, section) []: # Enter Common Name (eg, your name or your server's hostname) []: client # input Email Address [root@server-linux.info]: # Enter Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: # Enter An optional company name []: # Enter Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'JP' stateOrProvinceName :PRINTABLE:'Hiroshima' localityName :PRINTABLE:'Hiroshima' organizationName :PRINTABLE:'server-linux.info' commonName :PRINTABLE:'client' emailAddress :IA5STRING:'root@server-linux.info' Certificate is to be certified until Sep 4 14:20:52 2018 GMT (3650 days) Sign the certificate? [y/n]: y 1 out of 1 certificate requests certified, commit? [y/n] y Write out database with 1 new entries Data Base Updated |
[7] | "client.crt" and "client.key" are created under /etc/openvpn/easy-rsa/keys/. Please download them on your client PC by FTP or SFTP. |
[8] | Create bridge networking and starting script for VPN server. |
cp /usr/share/doc/openvpn-2.0.9/sample-scripts/openvpn.init /etc/openvpn/
[root@ns ~]#
cp /usr/share/doc/openvpn-2.0.9/sample-scripts/bridge-stop /etc/openvpn/
[root@ns ~]#
cp /usr/share/doc/openvpn-2.0.9/sample-scripts/bridge-start /etc/openvpn/
[root@ns ~]#
chmod 755 /etc/openvpn/bridge-start
[root@ns ~]#
chmod 755 /etc/openvpn/bridge-stop
[root@ns ~]#
chmod 755 /etc/openvpn/openvpn.init
[root@ns ~]#
vi /etc/openvpn/bridge-start
# 18,19,20: change ( IP for bridge : subnetmask : broadcast address )
eth_ip="
192.168.0.4
"eth_netmask="
255.255.255.0
"eth_broadcast="
192.168.0.255
"[root@ns ~]#
vi /etc/sysctl.conf
# line 7: change ( enable ip forward )
net.ipv4.ip_forward =
1
[root@ns ~]#
cp /etc/rc.d/init.d/network /etc/rc.d/init.d/vpn
[root@ns ~]#
vi /etc/rc.d/init.d/vpn
# line 168: add these 2 lines
/etc/openvpn/bridge-start
/etc/openvpn/openvpn.init start
/etc/openvpn/openvpn.init start
# line 174: add these 2 lines
stop)
/etc/openvpn/openvpn.init stop
/etc/openvpn/bridge-stop
/etc/openvpn/bridge-stop
[root@ns ~]#
/etc/rc.d/init.d/vpn start
Bringing up loopback interface:
[ OK ]
Bringing up interface eth0:
[ OK ]
Bringing up interface eth1:
[ OK ]
Wed Sep 3 23:05:57 2008 TUN/TAP device tap0 opened
Wed Sep 3 23:05:57 2008 Persist state set to: ON
Starting openvpn:
[ OK ]
[root@ns ~]#
chkconfig --add vpn
[root@ns ~]#
chkconfig vpn on
Monday, July 11, 2011
Đồng bộ dữ liệu trên 2 Database Server sử dụng MySQL Server
Trong bài viết trước, mình có trình bày các Đồng bộ hóa dữ liệu trên 2 Database Server dùng SQL Server 2008. Trong bài viết này, mình sẽ tiếp tục trình bày các để đồng bộ dữ liệu giữa 2 Database Server sử dụng MySQL Server (MySQL Replication), thực hiện trên hệ điều hành CentOS 5.6
Trong mô hình này. Một Server sẽ đóng vai trò là MASTER, Server kia đóng vai trò là SLAVE.
Yêu cầu 2 Server:
Đánh lệnh để sửa lại nội dung file my.cnf
vi /etc/my.cnf
Đầu tiên bạn cần chắc chắn rằng 2 dòng sau của file my.cnf đã được commnet hoặc được xóa bỏ
#skip-networking
#bind-address = 127.0.0.1
Tiếp đó, trong thẻ [mysqld] thêm vào nội dung sau:
log-bin
binlog-do-db=dulieumau
server-id=1
Trong đó binlog-do-db ta cho biết dữ liệu cần đồng bộ.
Sau đó ta khởi động lại MySQL. Gõ lệnh:
service mysqld restart
Tiếp theo, đăng nhập vào MySQL trên Server 1 bằng tài khoản root
mysqld -u root -p
Tạo một user để Server 2 đăng nhập và có thể Replicate
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';
Trong dòng lệnh trên thì Username là slave và mật khẩu là 123456
Để đảm bảo tính nhất quán dữ liệu giữa 2 database trên Server1 và Server2. Ta tiến hành ngưng các tác động làm thay đổi cơ sở dữ liệu.
FLUSH TABLES WITH READ LOCK;
Tiếp tục, Xem file log của cơ sỡ dữ liệu "dulieumau" hiện tại để slave biết bắt đầu replicate tại thời điểm nào.
SHOW MASTER STATUS;
Ví dụ ở đây ta có kết quả như hình dưới đây.
Chúng ta cần lưu lại 2 tham số của cột File và Position để cấu hình cho SLAVE.
2) Cấu hình SLAVE (Server 2):
Chú ý: Nếu như trước khi bạn thiết lập Replication này mà database cần Replicate của bạn đã có sẵn dữ liệu trên Server 1 thì bạn cần sao chép database này sang Server 2!
Bạn có thể thực hiện việc này bằng cách sao lưu và backup bằng tay từ server 1 sang server 2 hoặc có thể đánh lệnh sau trong server 2
LOAD DATA FROM MASTER;
==> Đảm bảo trước khi cấu hình đồng bộ hóa thì database ở 2 server là giống nhau!
Trên SLAVE mở và thêm đoạn sau vào nội dung file my.cnf
server-id=2
master-host=192.168.1.155
master-user=slave1
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-db= dulieumau
Trong đó:
master-host= IP hoặc domain của MASTER
master-user= Tài khoản để SLAVE đăng nhập vào MASTER được tạo ở bước trên
master-password= là mật khẩu của User đó
Sau đó khởi động lại MySQL
service mysqld restart
Đăng nhập vào MySQL bằng quyền root
mysql -u root -p
Nếu Server 2 hiện đang là 1 SLAVE đang hoạt động thì ta tạm dừng nó lại
SLAVE STOP;
Cấu hình những thông tin cần thiết để SLAVE giao tiếp được với MASTER:
CHANGE MASTER TO
-> MASTER_HOST='192.168.1.155',
-> MASTER_USER='slave1',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysqld-bin.000001',
-> MASTER_LOG_POS=98;
với MASTER_LOG_FILE và MASTER_LOG_POS là hai tham số có giá trị được ta lưu lại ở bước phía trên!
Khởi động lại SLAVE:
SLAVE START;
Giải phóng các Tables trên MASTER (Server 1).
UNLOCK TABLES;
3) Testing:
Khi ta tiến hành thay đổi dữ liệu trên dulieumau ở Server 1 thì dulieumau trên Server 2 cũng thay đổi theo y như vậy! ==> Thành công!
* Một số lệnh để xem logs và kiểm tra hoạt động trên MASTER và SLAVE:
-------- MASTER:
mysql> SHOW GRANTS FOR repl;
mysql> SHOW MASTER LOGS \G
mysql> SHOW BINARY LOGS;
mysql> SHOW MASTER STATUS;
mysql> RESET MASTER ---> ( CAUTON !!! )
-------- SLAVE:
mysql> SHOW SLAVE STATUS;
mysql> STOP SLAVE;
mysql> START SLAVE;
mysql> RESET SLAVE;
4) MySQL Replication theo 2 chiều:
Các bước cấu hình mình đã trình bày ở trên sẽ giúp đồng bộ dữ liệu mỗi khi Database trên Server 1 được thay đổi. Tuy nhiên nếu dữ liệu ở trên Server 2 thay đổi thì Server 1 không có được những thay đổi này! Đó là replication một chiều (MASTER --> SLAVE)
Để có thể replication chiều (MASTER <--> MASTER) ta tiến hành cấu hình 2 mô hình MASTER-SLAVE replication lồng vào nhau:
Bước 1: Server 1 là MASTER, server 2 là SLAVE
Bước 2: Server 1 là SLAVE, server 2 là MASTER
2 bước này cấu hình hoàn toàn tương tự như mình đã trình bày ở bên trên!
Ngô Duy Khánh (Kenhgiaiphap.Vn)
Trong mô hình này. Một Server sẽ đóng vai trò là MASTER, Server kia đóng vai trò là SLAVE.
Yêu cầu 2 Server:
- Đã cài đặt MySQL
- Server 1 có địa chỉ IP là: 192.168.1.131
- Server 2 có địa chỉ IP là: 192.168.1.137
- Database trên 2 Server cần đồng bộ có tên: dulieumau
Đánh lệnh để sửa lại nội dung file my.cnf
vi /etc/my.cnf
Đầu tiên bạn cần chắc chắn rằng 2 dòng sau của file my.cnf đã được commnet hoặc được xóa bỏ
#skip-networking
#bind-address = 127.0.0.1
Tiếp đó, trong thẻ [mysqld] thêm vào nội dung sau:
log-bin
binlog-do-db=dulieumau
server-id=1
Trong đó binlog-do-db ta cho biết dữ liệu cần đồng bộ.
Sau đó ta khởi động lại MySQL. Gõ lệnh:
service mysqld restart
Tiếp theo, đăng nhập vào MySQL trên Server 1 bằng tài khoản root
mysqld -u root -p
Tạo một user để Server 2 đăng nhập và có thể Replicate
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';
Trong dòng lệnh trên thì Username là slave và mật khẩu là 123456
Để đảm bảo tính nhất quán dữ liệu giữa 2 database trên Server1 và Server2. Ta tiến hành ngưng các tác động làm thay đổi cơ sở dữ liệu.
FLUSH TABLES WITH READ LOCK;
Tiếp tục, Xem file log của cơ sỡ dữ liệu "dulieumau" hiện tại để slave biết bắt đầu replicate tại thời điểm nào.
SHOW MASTER STATUS;
Ví dụ ở đây ta có kết quả như hình dưới đây.
Chúng ta cần lưu lại 2 tham số của cột File và Position để cấu hình cho SLAVE.
2) Cấu hình SLAVE (Server 2):
Chú ý: Nếu như trước khi bạn thiết lập Replication này mà database cần Replicate của bạn đã có sẵn dữ liệu trên Server 1 thì bạn cần sao chép database này sang Server 2!
Bạn có thể thực hiện việc này bằng cách sao lưu và backup bằng tay từ server 1 sang server 2 hoặc có thể đánh lệnh sau trong server 2
LOAD DATA FROM MASTER;
==> Đảm bảo trước khi cấu hình đồng bộ hóa thì database ở 2 server là giống nhau!
Trên SLAVE mở và thêm đoạn sau vào nội dung file my.cnf
server-id=2
master-host=192.168.1.155
master-user=slave1
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-db= dulieumau
Trong đó:
master-host= IP hoặc domain của MASTER
master-user= Tài khoản để SLAVE đăng nhập vào MASTER được tạo ở bước trên
master-password= là mật khẩu của User đó
Sau đó khởi động lại MySQL
service mysqld restart
Đăng nhập vào MySQL bằng quyền root
mysql -u root -p
Nếu Server 2 hiện đang là 1 SLAVE đang hoạt động thì ta tạm dừng nó lại
SLAVE STOP;
Cấu hình những thông tin cần thiết để SLAVE giao tiếp được với MASTER:
CHANGE MASTER TO
-> MASTER_HOST='192.168.1.155',
-> MASTER_USER='slave1',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysqld-bin.000001',
-> MASTER_LOG_POS=98;
với MASTER_LOG_FILE và MASTER_LOG_POS là hai tham số có giá trị được ta lưu lại ở bước phía trên!
Khởi động lại SLAVE:
SLAVE START;
Giải phóng các Tables trên MASTER (Server 1).
UNLOCK TABLES;
3) Testing:
Khi ta tiến hành thay đổi dữ liệu trên dulieumau ở Server 1 thì dulieumau trên Server 2 cũng thay đổi theo y như vậy! ==> Thành công!
* Một số lệnh để xem logs và kiểm tra hoạt động trên MASTER và SLAVE:
-------- MASTER:
mysql> SHOW GRANTS FOR repl;
mysql> SHOW MASTER LOGS \G
mysql> SHOW BINARY LOGS;
mysql> SHOW MASTER STATUS;
mysql> RESET MASTER ---> ( CAUTON !!! )
-------- SLAVE:
mysql> SHOW SLAVE STATUS;
mysql> STOP SLAVE;
mysql> START SLAVE;
mysql> RESET SLAVE;
4) MySQL Replication theo 2 chiều:
Các bước cấu hình mình đã trình bày ở trên sẽ giúp đồng bộ dữ liệu mỗi khi Database trên Server 1 được thay đổi. Tuy nhiên nếu dữ liệu ở trên Server 2 thay đổi thì Server 1 không có được những thay đổi này! Đó là replication một chiều (MASTER --> SLAVE)
Để có thể replication chiều (MASTER <--> MASTER) ta tiến hành cấu hình 2 mô hình MASTER-SLAVE replication lồng vào nhau:
Bước 1: Server 1 là MASTER, server 2 là SLAVE
Bước 2: Server 1 là SLAVE, server 2 là MASTER
2 bước này cấu hình hoàn toàn tương tự như mình đã trình bày ở bên trên!
Ngô Duy Khánh (Kenhgiaiphap.Vn)
Cài đặt và cấu hình hoàn chỉnh MySQL Database 5.5.10 và phpMyAdmin 2.11.11 trên CentOS 5.5 và Red Hat (RHEL) 5.5/6.
I – Cài đặt và cấu hình MySql 5.5.10
MySQL là hệ thống quản lý các database có liến kết với nhau ( database management system ), nó như là một máy chủ cho phép nhiều user kết nối tới các database. Bài này sẽ hướng dẫn cách cài hoặc upgrade MySQL Community Server lên phiên bản mới nhất là 5.5.10 trên CentOS 5.5 và Red Hat (RHEL) 5.5/6.
Lưu ý: Nếu bạn upgrade MySQL thì hãy backup lại databse và cấu hình. Sau đó, chạy lệnh mysql_upgrade
1. Chuyển sang tài khoản root
sudo -i
2. Cài đặt Remi repository
Cài đặt Epel repo phụ thuộc của Remi
Cài đặt repo Remi
3. Xem những phiên bản MySql sẽ được cài đặt
4. Cập nhật và cài đặt MySql 5.5.10
5. Cấu hình
/etc/rc.d/init.d/mysqld start
# khởi động mysql
chkconfig mysqld on
# cho phép mysql hoạt động cùng hệ thống
mysql -u root
# đăng nhập vào mysql với user root
mysql -u root -p
# kết nối vào mysql với pass vừa set cho root
update user set password=PASSWORD("testpass") where User='root';
# lệnh cập nhật pass cho user root
show databases;
# xem bảng cơ sở dữ liệu
Tạo cơ sở dữ liệu , tạo user mysql và bật chức năng cho user kết nối từ xa đến cơ sở dữ liệu của MySql
Mở port 3306 trên iptables Firewall
Edit /etc/sysconfig/iptables file:
vi /etc/sysconfig/iptables
Thêm dòng này vào cuối file cấu hình:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
Restart iptables Firewall
service iptables restart
6. kiểm tra từ client kết nối từ xa đến cơ sở dữ liệu
Từ máy hệ thống từ xa hoặc trên máy của bạn gõ lệnh sau:
-u kenhgiaiphap: kenhgiaiphap2 là tên truy cập vào MySQL
-h IP or hostname: 192.168.0.28 là địa chỉ IP máy chủ MySQL hoặc hostname (FQDN)
-p : Hỏi mật khẩu
II – Cài đặt và cấu hình phpMyAdmin 2.11.11
PhPMyAdmin là phần mềm miễn phí được viết trên nền PHP để quản lý MySQL thông qua WWW. phpMyAdmin hỗ trợ rất nhiều tính năng của MySQL. Tính năng thường được dùng nhiều nhất là quản lý databases, tables, fields, relations, indexes, users, permissions… thông qua giao diện người dùng trong khi vẫn có thể thực thi các SQL statement.
Kể từ phiên bản 3.0.0, phpMyAdmin đã kết hợp với GoPHP5 và không còn tương thích với những phiên bản PHP và MySQL cũ; từ phiên bản 3 trở đi yêu cầu sử dụng PHP 5.2 và MySQL 5.
1. Cài đặt
yum –y install phpmyadmin php-mysql php-mcrypt
2. Cấu hình
vi /usr/share/phpMyAdmin/config.inc.php
vi /etc/httpd/conf.d/phpMyAdmin.conf
service httpd restart
3. Test
Kết nối đến http://<ip hoặc hostname của máy php>/<tên alias>/ vào web browser, sau đó đăng nhập bằng user và pass của MySql
Mọi thắc mắc xin gửi về email support@kenhgiaiphap.vn
Hoàng Lâm (từ kenhgiaiphap.vn)
MySQL là hệ thống quản lý các database có liến kết với nhau ( database management system ), nó như là một máy chủ cho phép nhiều user kết nối tới các database. Bài này sẽ hướng dẫn cách cài hoặc upgrade MySQL Community Server lên phiên bản mới nhất là 5.5.10 trên CentOS 5.5 và Red Hat (RHEL) 5.5/6.
Lưu ý: Nếu bạn upgrade MySQL thì hãy backup lại databse và cấu hình. Sau đó, chạy lệnh mysql_upgrade
1. Chuyển sang tài khoản root
sudo -i
2. Cài đặt Remi repository
Cài đặt Epel repo phụ thuộc của Remi
Cài đặt repo Remi
3. Xem những phiên bản MySql sẽ được cài đặt
4. Cập nhật và cài đặt MySql 5.5.10
5. Cấu hình
/etc/rc.d/init.d/mysqld start
# khởi động mysql
chkconfig mysqld on
# cho phép mysql hoạt động cùng hệ thống
mysql -u root
# đăng nhập vào mysql với user root
mysql -u root -p
# kết nối vào mysql với pass vừa set cho root
update user set password=PASSWORD("testpass") where User='root';
# lệnh cập nhật pass cho user root
show databases;
# xem bảng cơ sở dữ liệu
Tạo cơ sở dữ liệu , tạo user mysql và bật chức năng cho user kết nối từ xa đến cơ sở dữ liệu của MySql
Mở port 3306 trên iptables Firewall
Edit /etc/sysconfig/iptables file:
vi /etc/sysconfig/iptables
Thêm dòng này vào cuối file cấu hình:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
Restart iptables Firewall
service iptables restart
6. kiểm tra từ client kết nối từ xa đến cơ sở dữ liệu
Từ máy hệ thống từ xa hoặc trên máy của bạn gõ lệnh sau:
-u kenhgiaiphap: kenhgiaiphap2 là tên truy cập vào MySQL
-h IP or hostname: 192.168.0.28 là địa chỉ IP máy chủ MySQL hoặc hostname (FQDN)
-p : Hỏi mật khẩu
II – Cài đặt và cấu hình phpMyAdmin 2.11.11
PhPMyAdmin là phần mềm miễn phí được viết trên nền PHP để quản lý MySQL thông qua WWW. phpMyAdmin hỗ trợ rất nhiều tính năng của MySQL. Tính năng thường được dùng nhiều nhất là quản lý databases, tables, fields, relations, indexes, users, permissions… thông qua giao diện người dùng trong khi vẫn có thể thực thi các SQL statement.
Kể từ phiên bản 3.0.0, phpMyAdmin đã kết hợp với GoPHP5 và không còn tương thích với những phiên bản PHP và MySQL cũ; từ phiên bản 3 trở đi yêu cầu sử dụng PHP 5.2 và MySQL 5.
1. Cài đặt
yum –y install phpmyadmin php-mysql php-mcrypt
2. Cấu hình
vi /usr/share/phpMyAdmin/config.inc.php
vi /etc/httpd/conf.d/phpMyAdmin.conf
service httpd restart
3. Test
Kết nối đến http://<ip hoặc hostname của máy php>/<tên alias>/ vào web browser, sau đó đăng nhập bằng user và pass của MySql
Mọi thắc mắc xin gửi về email support@kenhgiaiphap.vn
Hoàng Lâm (từ kenhgiaiphap.vn)
Chứng thực tập trung Linux và Windows qua OpenLDAP
1- Cài và cấu hình OpenLDAP
[root@kenhgiaiphap_vn ~]# yum –y unstall openldap-servers openldap-client
Tạo password cho Ldap admin
[root@kenhgiaiphap_vn ~]# vi /etc/openldap/slapd.conf
# Dòng 86: chỉ định suffix
suffix "dc=kenhgiaiphap,dc=vn"
# Dòng 87: chỉ định admin suffix
rootdn "cn=Manager,dc=kenhgiaiphap,dc=vn"
# Dòng 93: copy password ở trên vào
rootpw {MD5}4QrcOUm6Wau+VuBX8g+IPg==
# Thêm đoạn sau vào cuối
access to attrs=userPassword
by self write
by dn="cn=Manager,dc=kenhgiaiphap,dc=vn" write
by anonymous auth
by * none
access to *
by dn="cn=Manager,dc=kenhgiaiphap,dc=vn" write
by self write
by * read
- Thêm thông tin
[root@kenhgiaiphap_vn ~]# cd /usr/share/openldap/migration
[root@kenhgiaiphap_vn migration]# vi migrate_common.ph
# Dòng 71: chỉ định domain name
$DEFAULT_MAIL_DOMAIN = "kenhgiaiphap.vn";
# Dòng 74: chỉ định suffix
$DEFAULT_BASE = "dc=kenhgiaiphap,dc=vn";
[root@kenhgiaiphap_vn migration]# ./migrate_base.pl > base.ldif
[root@kenhgiaiphap_vn migration]# vi base.ldif
# Chỉ giữ lại những cái bạn cần
dn: dc=kenhgiaiphap,dc=vn
dc: server
objectClass: top
objectClass: domain
dn: ou=Hosts,dc= kenhgiaiphap,dc=vn
ou: Hosts
objectClass: top
objectClass: organizationalUnit
dn: ou=People,dc= kenhgiaiphap,dc=vn
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc= kenhgiaiphap,dc=vn
ou: Group
objectClass: top
objectClass: organizationalUnit
[root@kenhgiaiphap_vn migration]# ldapadd -x -W -D "cn=Manager,dc=server,dc=world" -f base.ldif
-Thêm User và Group vào LDAP server
[root@kenhgiaiphap_vn migration]# grep "x:[5-9][0-9][0-9]" /etc/passwd > passwd
[root@kenhgiaiphap_vn migration]# grep "x:[5-9][0-9][0-9]" /etc/group > group
[root@kenhgiaiphap_vn migration]# ./migrate_passwd.pl passwd > passwd.ldif
[root@kenhgiaiphap_vn migration]# ./migrate_group.pl group > group.ldif
[root@kenhgiaiphap_vn migration]# ldapadd -x -W -D "cn=Manager,dc= kenhgiaiphap,dc=vn" -f passwd.ldif
[root@kenhgiaiphap_vn migration]# ldapadd -x -W -D "cn=Manager,dc= kenhgiaiphap,dc=vn" -f group.ldif
2-Cài và cấu hình Samba PDC
[root@kenhgiaiphap_vn ~]# yum –y install samba
[root@kenhgiaiphap_vn ~]# cp /usr/share/doc/samba-0-9-6/LDAP/samba.schema /etc/openldap/schema/
[root@kenhgiaiphap_vn ~]# vi /etc/openldap/slapd.conf
[root@kenhgiaiphap_vn ~]# service ldap restart
- Cài smbldap-tools
[root@kenhgiaiphap_vn ~]# yum --enablerepo=epel -y install smbldap-tools
[root@kenhgiaiphap_vn ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
[root@kenhgiaiphap_vn ~]# cp /usr/share/doc/smbldap-tools-0-9-6/smb.conf /etc/samba/smb.conf
[root@kenhgiaiphap_vn ~]# vi /etc/samba/smb.conf
[root@kenhgiaiphap_vn ~]# mkdir /home/netlogon
[root@kenhgiaiphap_vn ~]# service smb restart
[root@kenhgiaiphap_vn ~]# smbpasswd –W # Tạo password cho admin LDAP
[root@kenhgiaiphap_vn ~]# /usr/share/doc/smbldap-tools-0-9-6/configure.pl
[root@kenhgiaiphap_vn ~]# smbldap-populate
- Tạo user admin được chỉ định trong smb.conf
[root@kenhgiaiphap_vn ~]# smbldap-useradd –am admin –G “Domain Admins”
[root@kenhgiaiphap_vn ~]# smbldap-passwd admin
3-Join Linux client vào Samba PDC
Trên máy client: yum –y install samba
[root@kenhgiaiphap_vn ~]# vi /etc/samba/smb.conf
[root@kenhgiaiphap_vn ~]# service smb start
[root@kenhgiaiphap_vn ~]# setup
[root@kenhgiaiphap_vn ~]# net join –W kenhgiaiphapvn –U admin
kenhgiaiphapvn là Workgroup
admin là username
4-Join Windows client vào Samba PDC
Nguon kenhgiaiphap.vn
[root@kenhgiaiphap_vn ~]# yum –y unstall openldap-servers openldap-client
Tạo password cho Ldap admin
[root@kenhgiaiphap_vn ~]# vi /etc/openldap/slapd.conf
# Dòng 86: chỉ định suffix
suffix "dc=kenhgiaiphap,dc=vn"
# Dòng 87: chỉ định admin suffix
rootdn "cn=Manager,dc=kenhgiaiphap,dc=vn"
# Dòng 93: copy password ở trên vào
rootpw {MD5}4QrcOUm6Wau+VuBX8g+IPg==
# Thêm đoạn sau vào cuối
access to attrs=userPassword
by self write
by dn="cn=Manager,dc=kenhgiaiphap,dc=vn" write
by anonymous auth
by * none
access to *
by dn="cn=Manager,dc=kenhgiaiphap,dc=vn" write
by self write
by * read
- Thêm thông tin
[root@kenhgiaiphap_vn ~]# cd /usr/share/openldap/migration
[root@kenhgiaiphap_vn migration]# vi migrate_common.ph
# Dòng 71: chỉ định domain name
$DEFAULT_MAIL_DOMAIN = "kenhgiaiphap.vn";
# Dòng 74: chỉ định suffix
$DEFAULT_BASE = "dc=kenhgiaiphap,dc=vn";
[root@kenhgiaiphap_vn migration]# ./migrate_base.pl > base.ldif
[root@kenhgiaiphap_vn migration]# vi base.ldif
# Chỉ giữ lại những cái bạn cần
dn: dc=kenhgiaiphap,dc=vn
dc: server
objectClass: top
objectClass: domain
dn: ou=Hosts,dc= kenhgiaiphap,dc=vn
ou: Hosts
objectClass: top
objectClass: organizationalUnit
dn: ou=People,dc= kenhgiaiphap,dc=vn
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc= kenhgiaiphap,dc=vn
ou: Group
objectClass: top
objectClass: organizationalUnit
[root@kenhgiaiphap_vn migration]# ldapadd -x -W -D "cn=Manager,dc=server,dc=world" -f base.ldif
-Thêm User và Group vào LDAP server
[root@kenhgiaiphap_vn migration]# grep "x:[5-9][0-9][0-9]" /etc/passwd > passwd
[root@kenhgiaiphap_vn migration]# grep "x:[5-9][0-9][0-9]" /etc/group > group
[root@kenhgiaiphap_vn migration]# ./migrate_passwd.pl passwd > passwd.ldif
[root@kenhgiaiphap_vn migration]# ./migrate_group.pl group > group.ldif
[root@kenhgiaiphap_vn migration]# ldapadd -x -W -D "cn=Manager,dc= kenhgiaiphap,dc=vn" -f passwd.ldif
[root@kenhgiaiphap_vn migration]# ldapadd -x -W -D "cn=Manager,dc= kenhgiaiphap,dc=vn" -f group.ldif
2-Cài và cấu hình Samba PDC
[root@kenhgiaiphap_vn ~]# yum –y install samba
[root@kenhgiaiphap_vn ~]# cp /usr/share/doc/samba-0-9-6/LDAP/samba.schema /etc/openldap/schema/
[root@kenhgiaiphap_vn ~]# vi /etc/openldap/slapd.conf
include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema # Thêm include /etc/openldap/schema/samba.schema # Thêm access to attrs=userPassword,sambaLMPassword,sambaNTPassword by self write by dn="cn=Manager,dc=server,dc=world" write by anonymous auth by * none |
[root@kenhgiaiphap_vn ~]# service ldap restart
- Cài smbldap-tools
[root@kenhgiaiphap_vn ~]# yum --enablerepo=epel -y install smbldap-tools
[root@kenhgiaiphap_vn ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
[root@kenhgiaiphap_vn ~]# cp /usr/share/doc/smbldap-tools-0-9-6/smb.conf /etc/samba/smb.conf
[root@kenhgiaiphap_vn ~]# vi /etc/samba/smb.conf
# Dòng 3: đổi workgroup workgroup = kenhgiaiphapvn # Dòng 22: ldap passwd sync = yes # Dòng 33,34: đổi Dos charset = CP932 Unix charset = UTF-8 # Dòng 48: đổi LDAP admin DN passdb backend = ldapsam:ldap://127.0.0.1/ ldap admin dn = cn=Manager, dc=kenhgiaiphap,dc=vn # Dòng 50: đổi LDAP suffix ldap suffix = dc=kenhgiaiphap,dc=vn ldap group suffix = ou=Group ldap user suffix = ou=People # Dòng 60: bỏ dấu # delete group script = /usr/sbin/smbldap-groupdel "%g" # Dòng 64: thêm set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u' admin users = admin |
[root@kenhgiaiphap_vn ~]# mkdir /home/netlogon
[root@kenhgiaiphap_vn ~]# service smb restart
[root@kenhgiaiphap_vn ~]# smbpasswd –W # Tạo password cho admin LDAP
[root@kenhgiaiphap_vn ~]# /usr/share/doc/smbldap-tools-0-9-6/configure.pl
[root@kenhgiaiphap_vn ~]# smbldap-populate
- Tạo user admin được chỉ định trong smb.conf
[root@kenhgiaiphap_vn ~]# smbldap-useradd –am admin –G “Domain Admins”
[root@kenhgiaiphap_vn ~]# smbldap-passwd admin
3-Join Linux client vào Samba PDC
Trên máy client: yum –y install samba
[root@kenhgiaiphap_vn ~]# vi /etc/samba/smb.conf
Workgroup = kenhgiaiphapvn Security = domain Domain master = yes Domain logons = yes |
[root@kenhgiaiphap_vn ~]# service smb start
[root@kenhgiaiphap_vn ~]# setup
[root@kenhgiaiphap_vn ~]# net join –W kenhgiaiphapvn –U admin
kenhgiaiphapvn là Workgroup
admin là username
4-Join Windows client vào Samba PDC
Nguon kenhgiaiphap.vn
Hướng dẫn cài đặt Zimbra Mail Server
Trong bài giới thiệu này, Kênh Giải Pháp sẽ hướng dẫn các bạn cách thức cài đặt phiên bản mới nhất Zimbra 7.0 trên CentOS 5.5 và cấu hình Zimbra làm việc như là một mail server dành cho doanh nghiệp.
1. Chuẩn bị
Bước 1: Cập nhật hệ thống, tắt sendmail và hệ thống bảo mật
yum update
/etc/init.d/sendmail stop
chkconfig sendmail off
chkcon fig iptables off
Bước 2: cài đặt những gói cần thiết
yum install sysstat gmp libidn libstdc++ sqlite
Bước 3: Cấu hình hostname và DNS
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.137.2 mail.kenhgiaiphap.vn mail
::1 localhost6.localdomain6 localhost6
Ngoài Zimbra Server, chúng ta còn sử dụng server như là một DNS Server.
+ Tạo file /var/named/chroot/var/named/kenhgiaiphap.vn
;
; Addresses and other host information.
;
@ IN SOA kenhgiaiphap.vn. hostmaster.kenhgiaiphap.vn. (
2011030801 ; Serial
43200 ; Refresh
3600 ; Retry
3600000 ; Expire
2592000 ) ; Minimum
; Define the nameservers and the mail servers
IN NS ns.kenhgiaiphap.vn.
IN A 192.168.137.2
IN MX 10 mail.kenhgiaiphap.vn.
mail IN A 192.168.137.2
ns IN A 192.168.137.2
+ Tạo file /var/named/chroot/etc/named.conf
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
forwarders { 8.8.8.8; };
};
include "/etc/rndc.key";
// We are the master server for mydomain.com
zone "kenhgiaiphap.vn" {
type master;
file "kenhgiaiphap.vn";
};
Bước 4: Khởi động DNS và kiểm tra
/etc/init.d/named start
chkconfig named on
nslookup mail.kenhgiaiphap.vn
Server: 10.10.10.20
Address: 10.10.10.20#53
2. Cài đặt Zimbra
Sau khi tải phiên bản cài đặt Zimbra Collaboration Suite từ trang chủ về thì bắt đầu giải nén và cài đặt.
tar zxf zcs-7.1.0_GA_3140.RHEL5.20110329150824.tgz
cd zcs-7.1.0_GA_3140.RHEL5.20110329150824.tgz
./install.sh --platform-override
Quá trình được cài đặt theo mặc định. Sau khi cấu hình xong thì tiến hành đặt password cho Admin.
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@kenhgiaiphap.vn
******* +Admin Password UNSET
Quá trình cài đặt hòan tất. Zimbra Server sẵn sàng đưa vào sử dụng. Kiểm tra bằng các vào giao diện web và gõ địa chỉ ip hoặc tên miền với cổng 7071.
Finish
Nguon Internet.
1. Chuẩn bị
Bước 1: Cập nhật hệ thống, tắt sendmail và hệ thống bảo mật
yum update
/etc/init.d/sendmail stop
chkconfig sendmail off
chkcon fig iptables off
Bước 2: cài đặt những gói cần thiết
yum install sysstat gmp libidn libstdc++ sqlite
Bước 3: Cấu hình hostname và DNS
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.137.2 mail.kenhgiaiphap.vn mail
::1 localhost6.localdomain6 localhost6
Ngoài Zimbra Server, chúng ta còn sử dụng server như là một DNS Server.
+ Tạo file /var/named/chroot/var/named/kenhgiaiphap.vn
;
; Addresses and other host information.
;
@ IN SOA kenhgiaiphap.vn. hostmaster.kenhgiaiphap.vn. (
2011030801 ; Serial
43200 ; Refresh
3600 ; Retry
3600000 ; Expire
2592000 ) ; Minimum
; Define the nameservers and the mail servers
IN NS ns.kenhgiaiphap.vn.
IN A 192.168.137.2
IN MX 10 mail.kenhgiaiphap.vn.
mail IN A 192.168.137.2
ns IN A 192.168.137.2
+ Tạo file /var/named/chroot/etc/named.conf
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
forwarders { 8.8.8.8; };
};
include "/etc/rndc.key";
// We are the master server for mydomain.com
zone "kenhgiaiphap.vn" {
type master;
file "kenhgiaiphap.vn";
};
Bước 4: Khởi động DNS và kiểm tra
/etc/init.d/named start
chkconfig named on
nslookup mail.kenhgiaiphap.vn
Server: 10.10.10.20
Address: 10.10.10.20#53
2. Cài đặt Zimbra
Sau khi tải phiên bản cài đặt Zimbra Collaboration Suite từ trang chủ về thì bắt đầu giải nén và cài đặt.
tar zxf zcs-7.1.0_GA_3140.RHEL5.20110329150824.tgz
cd zcs-7.1.0_GA_3140.RHEL5.20110329150824.tgz
./install.sh --platform-override
Quá trình được cài đặt theo mặc định. Sau khi cấu hình xong thì tiến hành đặt password cho Admin.
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@kenhgiaiphap.vn
******* +Admin Password UNSET
Quá trình cài đặt hòan tất. Zimbra Server sẵn sàng đưa vào sử dụng. Kiểm tra bằng các vào giao diện web và gõ địa chỉ ip hoặc tên miền với cổng 7071.
Finish
Nguon Internet.
Triển khai hoàn chỉnh mô hình thực tế OpenVPN Client – to - Site trên Centos
Giải pháp mạng riêng ảo sử dụng mã nguồn mở OpenVPN cho phép các nhân viên thường đi công tác xa có thể ngồi bất kì nơi đâu có kết nối internet đều có thể truy cập vào các ứng dụng, dịch vụ của hệ thống mạng nội bộ trong công ty 1 cách an toàn và đảm bảo tính toàn vẹn của dữ liệu và thông tin người dùng. Với những tính năng ưu việt OpenVPN hỗ trợ cho người quản trị dễ dàng kiểm soát được những kết nối bất kì đâu. Ngoài ra còn hỗ trợ admin kịp thời can thiệp và ngăn chặn những luồng thông tin không đáng tin cậy truy cập vào những nơi nhạy cảm của công ty.
OpenVPN hoạt động tại tầng 2 hoặc tầng 3 của mô hình OSI, phần mở rộng về bảo mật mạng của nó sử dụng chuẩn giao thức SSL/TLS,hỗ trợ các phương thức xác thực client linh hoạt dựa trên các chứng chỉ, thẻ thông minh, tên người dùng các thông tin mật khẩu đều được mã hóa giữa các máy chủ.
Trong mô hình này tôi dựng 1 máy OpenVPN server vừa đóng vai trò là 1 gateway ra mạng khác vừa cho các client bên ngoài remote access vào hệ thống mạng nội bộ và cụ thể ở đây là tôi dựng 1 máy samba chạy hđh centos.
Mô hình thực tế:
Bước 1: thiết lập IP cho các máy như sau:
Máy Samba
Máy OpenVPN có 2 card mạng
Card lan:
Card wan:
Lưu ý : stop iptable và SE linux
Bước 2: cài đặt OpenVPN
OpenVPN bao gồm 2 gói nhị phân Lzo và openvpn dùng lệnh tar giải nén 2 gói này, muốn cài đặt gói nào thì dùng lệnh cd vào gói đó và thực hiện bộ lệnh sau:
./configure
make
make install
Bước 3: cấu hình OpenVPN
Sau khi cài đặt xong ta tạo 1 thư mục theo đường dẫn như sau
mkdir /etc/openvpn
Copy file cấu hình server.conf từ source cài đặt vào đường dẫn thư mục tạo bên trên
cp /home/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/
Chỉnh sữa file cấu hình như sau:
Vi /etc/openvpn/server.conf
Lưu file cấu hình lại
Bước 4 : Create CA Certificate and key
Copy thư mục easy-rsa vào /etc/openvpn
cp -r /home/openvpn-2.0.9/easy-rsa /etc/openvpn/
cd /etc/openvpn/easy-rsa
mkdir keys
vi var (thiết lập thông tin)
. .vars
./clean-all
Tạo CA server
./build-ca
ca.crt được tạo trong /etc/openvpn/easy-rsa/keys
Create server Certificate and key
./build-key-server kenhgiaiphap
create Diffie Hellman ( DH )
./build-dh
Create client Certificate and key
ls keys (xem kết quả)
Bước 5 : cấu hình lan routing
Vi /etc/sysctl.conf
Bước 6: bật OpenVPN
openvpn server.conf
Trên máy samba start dịch vụ samba lên
service smb start
Trên router ADSL nat port như sau:
Mở IE gõ vào khung address www.canyouseeme.org để xem ip mặt ngoài của router ADSL
Bước 7: config OpenVPN GUI for client
Cài đặt openvpn-2.0.9-gui tại đây http://openvpn.se/download.html
Tại máy OpenVPN copy những file ca.crt client.crt client.key vào máy client tại đường dẫn này c:\\program\openvpn\config\
Tại máy client vào đường dẫn c:\\program\openvpn\sample-config chép file client.ovpn vào c:\\program\openvpn\config và edit như sau :
Save lại bắt đầu kết nối đến vpn server
Nhấn vào icon của OpenVPN ở góc phải màn hình chọn connect
Nhập vào pass của client mà lúc ta thiết lập certificate trên server
Connect thành công ta thử ping vào máy samba xem sao
Vào run gõ ip của samba xem vào được folder chia sẻ chưa
Chúc các bạn thành công!
Mọi thắc mắc xin gửi về mail support@kenhgiaiphap.vn
Hoàng Lâm (từ Kenhgiaiphap.vn)
OpenVPN hoạt động tại tầng 2 hoặc tầng 3 của mô hình OSI, phần mở rộng về bảo mật mạng của nó sử dụng chuẩn giao thức SSL/TLS,hỗ trợ các phương thức xác thực client linh hoạt dựa trên các chứng chỉ, thẻ thông minh, tên người dùng các thông tin mật khẩu đều được mã hóa giữa các máy chủ.
Trong mô hình này tôi dựng 1 máy OpenVPN server vừa đóng vai trò là 1 gateway ra mạng khác vừa cho các client bên ngoài remote access vào hệ thống mạng nội bộ và cụ thể ở đây là tôi dựng 1 máy samba chạy hđh centos.
Mô hình thực tế:
Bước 1: thiết lập IP cho các máy như sau:
Máy Samba
Máy OpenVPN có 2 card mạng
Card lan:
Card wan:
Lưu ý : stop iptable và SE linux
Bước 2: cài đặt OpenVPN
OpenVPN bao gồm 2 gói nhị phân Lzo và openvpn dùng lệnh tar giải nén 2 gói này, muốn cài đặt gói nào thì dùng lệnh cd vào gói đó và thực hiện bộ lệnh sau:
./configure
make
make install
Bước 3: cấu hình OpenVPN
Sau khi cài đặt xong ta tạo 1 thư mục theo đường dẫn như sau
mkdir /etc/openvpn
Copy file cấu hình server.conf từ source cài đặt vào đường dẫn thư mục tạo bên trên
cp /home/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/
Chỉnh sữa file cấu hình như sau:
Vi /etc/openvpn/server.conf
Lưu file cấu hình lại
Bước 4 : Create CA Certificate and key
Copy thư mục easy-rsa vào /etc/openvpn
cp -r /home/openvpn-2.0.9/easy-rsa /etc/openvpn/
cd /etc/openvpn/easy-rsa
mkdir keys
vi var (thiết lập thông tin)
. .vars
./clean-all
Tạo CA server
./build-ca
ca.crt được tạo trong /etc/openvpn/easy-rsa/keys
Create server Certificate and key
./build-key-server kenhgiaiphap
create Diffie Hellman ( DH )
./build-dh
Create client Certificate and key
ls keys (xem kết quả)
Bước 5 : cấu hình lan routing
Vi /etc/sysctl.conf
Bước 6: bật OpenVPN
openvpn server.conf
Trên máy samba start dịch vụ samba lên
service smb start
Trên router ADSL nat port như sau:
Mở IE gõ vào khung address www.canyouseeme.org để xem ip mặt ngoài của router ADSL
Bước 7: config OpenVPN GUI for client
Cài đặt openvpn-2.0.9-gui tại đây http://openvpn.se/download.html
Tại máy OpenVPN copy những file ca.crt client.crt client.key vào máy client tại đường dẫn này c:\\program\openvpn\config\
Tại máy client vào đường dẫn c:\\program\openvpn\sample-config chép file client.ovpn vào c:\\program\openvpn\config và edit như sau :
Save lại bắt đầu kết nối đến vpn server
Nhấn vào icon của OpenVPN ở góc phải màn hình chọn connect
Nhập vào pass của client mà lúc ta thiết lập certificate trên server
Connect thành công ta thử ping vào máy samba xem sao
Vào run gõ ip của samba xem vào được folder chia sẻ chưa
Chúc các bạn thành công!
Mọi thắc mắc xin gửi về mail support@kenhgiaiphap.vn
Hoàng Lâm (từ Kenhgiaiphap.vn)
Subscribe to:
Posts (Atom)