Showing posts with label Opensource. Show all posts
Showing posts with label Opensource. Show all posts

June 16, 2016

Install Room Booking System - Hệ thống đặt phòng họp online

Trong bài viết này mình sẽ hướng dẫn các bạn setup hoàn chỉnh 1 hệ thống đặt phòng trực tuyến mã nguồn mở được viết bằng CFWheels:




"CFWheels is an open source CFML (ColdFusion Markup Language) framework inspired by Ruby on Rails that provides fast application development, a great organization system for your code, and is just plain fun to use. One of our biggest goals is for you to be able to get up and running with CFWheels quickly. We want for you to be able to learn it as rapidly as it is to write applications with it."


thông tin thêm về mã nguồn này các bạn có thể tự tham khảo nhá.


Các bước cài đặt hệ thống bao gồm các bước:


1. cài đặt server centos

2. cài apache, mysql (nếu cần thì cài thêm phpmyadmin để quản lý mysql cho tiện)
3. cài đặt Railo và Apache Connector
4. Cài đặt java

Chi tiết các bước cài đặt như sau:

1. Cài đặt server CentOS : hướng dẫn này cài trên Centos 6, các bạn có thể cài trên CentOS 7, Ubuntu hay Debian cũng được. Mình thực hiện lab trên máy ảo. Mục này mình chỉ nêu nội dung, còn lại các bạn tự thực hiện.

- mình dùng bản cài CentOS-6.7-x86_64-minimal.iso các bạn có thể download trên mạng
- Setup server như bình thường
- Đặt hostname server
- Set IP server
- Nhớ tắt Selinux & accept rules iptable or disable iptables luôn
Done, xong bước 1, chuyển qua bước 2

2. Cài đặt apache, mysql


yum install httpd mysql-server php php-mysql -y
service httpd start
chkconfig httpd on
service mysqld start
chkconfig mysqld on
mysql_secure_installation 
Đăng nhập vào mysql tạo 1 database có tên là roombooking (bước này sẽ giải thích ở bước sau)
CREATE USER 'root@localhost' IDENTIFIED BY 'yourpassword';
CREATE DATABASE IF NOT EXISTS roombooking;
GRANT ALL PRIVILEGES ON roombooking.* TO 'root@localhost' IDENTIFIED BY 'yourpassword';
Ở đây mình dùng luôn user root, các bạn dùng user khác thì tạo user mới rồi thay thế vô cho phù hợp

3. Cài đặt Railo và Apache Connector :


Railo Server, commonly referred to as Railo (/raɪloʊ/ raɪ-lo), is open source software which implements the general-purpose CFML server-side scripting language, often used to create dynamic websites, web applications and intranet systems. CFML is a dynamic language supporting multiple programming paradigms and runs on the Java virtual machine (JVM).


Ngoài Railo còn có Lucee hay ColdFusion.

Do bản server của mình đang chạy 64bit nên mình sẽ download bản Railo x64 tương ứng
wget http://railo.viviotech.net/downloader.cfm/id/125/file/railo-4.2.1.008-pl0-linux-x64-installer.run -O railo.run
link download dự phòng
Lucee: http://shink.in/U7nRb

Set quyền cho file railo.run
chmod 744 railo.run
Thực thi cài đặt
./railo.run 
 Nhấn 4 để chọn ngôn ngữ English

Nhấn Enter để tiếp tục

Nhấn Y để đồng ý,
Nhập 2 lần password cho server Railo

Port va user root để mặc định, ai muốn thay đổi thì nhập vào và phải nhớ port , user khác thì thay đổi sao cho phù hợp với bước tạo database phía trên

Nhấn yes để khởi động Railo
Hệ thống sẽ tiếp tục hỏi bạn có muốn cài Apache Connector ko? nhấn Y

Enter tiếp
Cuối cùng nhấn Y để chạy cài đặt


Quá trình cài đặt diễn ra khoảng 30s - 01ph



Finished


Restart Apache:
  service httpd restart
4. Setup JAVA

Kiểm tra xem server đã cài đặt java chưa?
java -version
Nếu chưa thì tiến hành cài đặt
yum install java7 -y    
Chạy lệnh trên ko được thì làm theo hướng dẫn tại đây
Sau khi cài xong ta khởi động lại Railo và bật Railo start cùng hệ thống
service railo_ctl restart 
chkconfig railo_ctl on 
Ok vậy là các bước cài đặt đã xong, ta mở trình duyệt lên, truy cập vào server Railo theo đường dẫn

http://server_ip_addr:8888 

Control panel


http://svripaddr:8888/railo-context/admin/server.cfm


http://svripaddr:8888/railo-context/admin/web.cfm

đăng nhập bằng pass lúc nãy tạo ở trên


vào server nhìn menu bên trái dưới mục service chọn datasource ==> create new database
chọn mysql và đặt tên cho database là roombooking, nhập user với password quản lý database ==> Create.


Tải source code tại đây: https://github.com/neokoenig/RoomBooking/releases/download/1.2/RoomBooking-1-2-1.zip
Tải về giải nén ra rồi copy source code lên server theo đường dẫn :  /opt/railoa/tomcat/webapps/ROOT/roombooking
Sau đó import file new-installation.sql trong source code ở đường dẫn roombooking\install\new-installation.sql gồm 10 table vào database roombooking đã tạo trước đó.





Sau khi copy source code & import database xong, mở trình duyệt lên gõ http://server_ip_addr:8888/roombooking/install để tiến hành cài đặt,
Khi mọi thứ ok hết sẽ hiển thị bước điền user & password admin.

Sau đó bạn xóa hoặc đổi tên thư mục install và reload lại trang web sẽ được kết quả như hình



Đến đây hoàn tất quá trình cài đặt ứng dụng, chúc các bạn thành công.


các bạn có thể sử dụng demo tại trang chủ: http://shink.in/1tgSH
Hướng dẫn cài đặt của tác giả: http://shink.in/1JqH0

Bài viết tham khảo

https://www.digitalocean.com/community/tutorials/how-to-set-up-railo-cfml-engine-with-tomcat-and-apache-on-a-debian-7-or-ubuntu-13-vps
http://www.gpickin.com/index.cfm/blog/multi-cfml-engine-install-installing-railo-on-linux-centos





February 4, 2016

Cài đặt Discourse trên VPS Ubuntu 14.04 / Debian 8


Hôm nay mình sẽ hướng dẫn các bạn cài đặt Discourse trên VPS Ubuntu 14.04 và Debian 8.
Discourse là một mã nguồn mở để tạo trang web dạng hỏi đáp cũng như diễn đàn rất chuyên nghiệp. Với giao diện hiện đại, tốc độ nhanh Discourse đang được rất nhiều các trang web lớn lựa chọn. Qua sử dụng, mình đánh giá Discourse là một mã nguồn rất tuyệt vời về cả tính năng, giao diện vì rất dễ sử dụng. Discourse cũng cấp tất cả các chức năng trong một trang admin và bạn chỉ cần vài giờ là có thể làm chủ Discourse.
Xem demo Discourse tại đây 
Việc cài đặt Discourse có rất nhiều cách như cài đặt môi trường Ruby On Rails, PosgresSQL và tải mã nguồn Discourse về cài đặt hoặc cài đặt qua Docker. Tuy  nhiên việc cài đặt Discourse từ mã nguồn khá phức tạp và chỉ khi bạn đã có kinh nghiệm bởi vì kể cả bạn đã setup được một môi trường Rails cho Discourse thì cũng chưa chắc nó sẽ hoạt động hiệu quả do đó mình sẽ hướng dẫn các bạn cài đặt qua Docker chỉ khoảng 20 phút là xong và chỉ việc copy và paste thôi :D
Docker là gì ? Docker là một giải pháp cho phép bạn đóng gói phần mềm (bao gồm tất cả thành phần của phần mềm) tại chỗ và sau khi đóng gói nó có chạy ở bất cứ nển tảng nào miễn là hỗ trợ Docker. Và Discourse đã được các chuyên gia cài đặt (setup Rails, PosgresSQL, Redis, source) trên hệ thống của họ và sau đó họ đóng gói lại chúng ta có thể sử dụng nó mà không mất công cài đặt lại nữa.
Để sử dụng Discourse bạn cần VPS tối thiểu 1GB RAM (theo lời của Discourse) và khuyến cáo là 2GB. Mình đã thử cài trên VPS 512MB Ram thì vẫn chạy bình thường nhưng chỉ dành cho mục đích test thôi. Mình sẽ cài đặt trên Ubuntu 14.04 còn trên Debian thì tương tự.

Cài đặt Swap (bắt buộc nếu bạn chỉ có 1GB RAM, 2GB thì không cần)

  1. Tạo một file swap rỗng:
     sudo install -o root -g root -m 0600 /dev/null /swapfile
  2. Ghi 1GB ổ cứng vào file swap:
    dd if=/dev/zero of=/swapfile bs=1k count=1024k
  3. Nói với Linux đây là file swap:
    mkswap /swapfile
  4. Kích hoạt swap:
    swapon /swapfile
  5. Tự động tạo swap sau khi reboot hệ thống:
    echo "/swapfile swap swap auto 0 0" | sudo tee -a /etc/fstab
  6. Cài đặt swappiness để chỉ sử dụng swap trong trường thiếu ram:
    sudo sysctl -w vm.swappiness=10
Cài đặt Git:
sudo apt-get install git
Cài đặt Docker:
wget -qO- https://get.docker.io/ | sh

Cài đặt Discourse:

  1. Tạo thư mục chứa Docker Image:
    mkdir /var/discourse
  2. Download Docker Image từ Github:
    git clone https://github.com/discourse/discourse_docker.git /var/discourse
  3. Chuyển tới thư mục chứa Docker:
    cd /var/discourse
  4. Copy file cấu hình :
     cp samples/standalone.yml containers/app.yml

Cấu hình Discourse

  1. Sửa file app.yml trong /var/discourse/containers/: nano /var/discourse/containers/app.yml
  2. Thay đổi email admin ( Để sau khi bạn tạo tài khoản bằng email này nó sẽ tự thành Admin): Sửa  trường DISCOURSE_DEVELOPER_EMAILS thành email của bạn.
  3. Sửa DISCOURSE_HOSTNAME thành domain của bạn
  4. Tiếp bạn cần cấu hình Email để Discourse có thể gửi email cho các thành viên như email kích hoạt tài khoản,… Nếu bạn chưa setup mail server thì đơn giản nhất là dùng SMTP bên ngoài. Bạn đăng ký một tài khoản Mandrill sau đó vào Setitings của Mandrill để lấy các thông tin và nhập vào đây, hoặc dùng gmail SMTP
1
2
3
4
5
6
7
DISCOURSE_SMTP_ADDRESS: smtp.mandrill.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USERNAME: abc@gmail.com
DISCOURSE_SMTP_PASSWORD: 1ST#4GTjsuZioW6
5. Nếu bạn chỉ có 1GB RAM thì sửa UNICORN_WORKERS = 2 và db_shared_buffers = 128MB\
6. Lưu lại và thoát (Ctrl+ O và Ctrl +X)
Trong quá trình chỉnh sửa file app.yml ở trên, bạn chú ý ở mỗi dòng bạn chỉnh nếu có dấu “#” thì phải bỏ đi nhé, như thế mới có hiệu lực.

Bootstrap Discourse

Chạy lệnh
./launcher bootstrap app 
nếu được hỏi thì cứ enter hoặc yes nhé
Chờ khoảng  8 phút hoặc hơn đến khi quá trình Bootstrap Discourse thành công
Khi xong, chạy tiếp lệnh:
./launcher start app
Như vậy là bạn đã cài đặt xong Discourse trên Unbuntu qua Docker
Truy cập vào tên miền bạn đã cài đặt trong file app.yml và bạn sẽ thấy giao diện quen thuộc của Discourse
Nếu bạn gặp lỗi 502 Nginx Bad Gateway thì chờ 30s sau vào lại nhé, chắc chắn sẽ được
Sau đó hãy tạo một tài khoản với email bạn đã nhập ở trên nhé, nó sẽ tự thành admin
end!
nguồn: https://www.crazytut.com/cai-dat-discourse-tren-vps-ubuntu-14-04-debian-8/