Open Project - Hướng dẫn cài Open Project trên Centos 7 Google Cloud


Khi làm việc cần quản lý công việc, project của mình hoặc công việc nội bộ cần giao TASK lẫn nhau thì Open Project cũng là công cụ hỗ trợ khá là tốt, giao diện trực quan..

Nó là một dạng ITSM với các đầy đủ các tính năng, nói về ITSM thì có nhiều cái để tham khảo như cloud có Service-Now, sản phẩm của Atlassian ... tùy vào nhu cầu và sự tiện lợi mà sử dụng, riêng cá nhân mình thấy Open Project dùng cho doanh nghiệp vừa và trong team IT khá tốt (Cá nhân), còn mấy doanh nghiệp lớn thấy dùng Service-Now , Atlassian JIRA,ManageEngine ServiceDesk Plus...

Như thường lệ mình chọn Centos 7 chạy trên Google Cloud để chạy.




Đầu tiền, xác định cái nào tiện thì cài trước: 
Cài database PostgreSQL :

Lưu ý là Openproject chỉ chạy trên DB Postgresql 9.5 trở lên nhé


[root@localhost ~]#sudo yum install postgresql95-server postgresql95




[root@localhost ~]#sudo postgresql95-setup initdb



[root@localhost ~]#sudo systemctl start postgresql


[root@localhost ~]#sudo systemctl enable postgresql

[root@localhost ~]#psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'conchimnon';"




Như vậy đã cài đặt xong, gán password cho user default postgres đã xong, khi xong phần này ta xác định cần cấu hình những gì để có thể sử dụng được nó.

Xác định port của postgresql : 5432
 Làm sao để connect nó, thử telnet xem nhé, trước khi telnet tắt hết firewall luôn, còn nếu ko muốn thì có thể mở port cần thiết cũng dc.



Và telnet thử database có connect ok không, nếu không là có vấn đề


Ok, thế là nó tạch rồi cụ giáo ạ, thế là ta cần xác định rằng, muốn connect tới database postgres thì cần config một số thứ nữa, không dễ ăn như mysql or maria-db đâu :)

Chúng ta cần chỉnh sửa một vài thứ từ config

[root@localhost ~]#vi /var/lib/pgsql/data/postgresql.conf




[root@localhost ~]#vi /var/lib/pgsql/data/pg_hba.conf



[root@localhost ~]#systemctl restart postgresql.service

Cuối cùng telnet thử xem, nếu ok là có nghĩa ngon rồi, tạo db có 2 cách, một dùng pgAdmin để tạo hoặc dùng command trực tiếp cũng ok.




Còn nếu dùng command thì xúc luôn nhanh như sau :


[root@localhost ~]# su - postgres


-bash-4.2$ createuser locpham

-bash-4.2$ psql -d template1 -c "ALTER USER locpham WITH PASSWORD 'conchimnon';"


-bash-4.2$ psql postgres

 postgres=# CREATE DATABASE demoDB;

postgres=# ALTER DATABASE demoDB OWNER TO locpham;

Đây là hướng dẫn bạn cài DB bằng tay, nên tìm hiểu nó trước vì nó hỗ trợ khá nhiều sau này như backup DB ..., có thể dùng openproject cài DB tích hợp trong bộ cài luôn cũng được
OK, vậy là xong.

Tiếp theo ta disable selinux, cái này quan trọng, vì không tắt đi quá trình cài sau này nó có rất nhiều phát sinh.

[root@localhost ~]# sudo setenforce 0

[root@it ~]# vi /etc/selinux/config


Cài đặt wget trên centos 7 để kéo source project về...


Cấu hình repo openproject

[root@it ~]# sudo wget -O /etc/yum.repos.d/openproject.repo \ https://dl.packager.io/srv/opf/openproject/stable/9/installer/el/7.repo




Cuối cùng là install openproject




[root@it ~]#sudo openproject configure

Connect tới Database  Open Project


Connect tới localhost  Open Project


User database  Postgres Open Project


Password Postgres Open Project


Cài đặt HTTPD



Đây là tiền tố, để trống sẽ vào thẳng host, nếu không sẽ là it.phamquangloc.vn/openproject








Đợi cho chạy xong là ok :)




Đăng nhập admin/admin và xúc thôi :)



Check Config:




Nhãn:

Compute Engine - IaaS- Đưa toàn bộ hệ thống server của doanh nghiệp lên google cloud


Như tiêu đề thấy đưa toàn bộ hệ thống server lên Cloud, thoạt đầu nghĩ ah là lên cloud ah kakak. Vấn đề này khả thi... Nếu bạn có tiền bạn mua server vật lý thì dùng nội bộ, còn muốn cloud cũng phải cần có tiền đấy cụ giáo ạ. Cấu hình thì tùy yêu cầu mỗi doanh nghiệp lựa chọn, hàng ngon đều có cả. 

OK vậy nói về vấn đề này là như thế nào, tôi sẽ phân vùng Server farm sẽ nằm trên google cloud, còn lại client chỉ cần setup hạ tầng bên dưới phục vụ cho end user... nói ngắn gọn là vậy.



Ở mô hình này sẽ tạo IKEV2 VPN từ google cloud và dùng router bên  enterprise connect về,  có thể route trực tiếp google cloud về thẳng router của bạn, ok mọi việc bắt đầu thôi.

Do chưa mượn được con router cisco , cố gắng cấu hình trên cisco ảo nhưng vẫn ko connect được VPN và một số vấn đề, dù debug các kiểu nhưng vẫn lỗi chập chờn bên quyết định thay bằng pfsense, hy vọng bài sau sẽ dùng router cisco.

OK vậy giờ tổng quan như sau :

Cloud google :

Tạo server trên google cloud, và phân định IP range server farm sẽ là 10.128.0.0/20 và disable toàn bộ External IP, có nghĩa là vùng server của bạn chỉ là local trên cloud, không liên quan gì bên ngoài.



Tiếp theo tạo một Cloud VPN Tunnel, vpn này bạn cấu hình route sao cho nó nhận dạng vùng IP Server farm của bạn là ok.








Và route cho nó nhận tất cả các lớp mạng nội bộ, để 0.0.0.0/0 để nhận diện tất cả, tùy theo policy route phù hợp




Như vậy là phần trên Google cloud tạm thời ổn, những thứ cần nhớ là ikev2 vpn shared key và IP thế là ok rồi.

Khi bạn nhập IP WAN bạn vào thì chỉ có mỗi IP WAN đó mới có thể nhìn thấy IP Google cloud, bạn ném nó cho 1 ai đó bên ngoài cũng chẳng nhìn thấy, tracert, ping đến nó đâu, coi như security basic đầu tiên hehe.

Như đã nói nói ở trên, router cisco ảo mình config nó bị lỗi, ko connect thành công, nên trong khi chờ đợi mượn của bạn bè con router về test thì dùng con Pfsense để chiến, vậy mà nó connect nhanh thật là nhanh, đau đầu.

Enterprise router pfsense:

Vùng mạng lan dành cho BOH, khối văn phòng, ở đây sẽ không chia VLAN, chỉ asign 1 range IP, nếu có nhu cầu thì chia ra, khá là dễ.


Cấu hình VPN Tunnels, cổng giao tiếp với google cloud


Cấu hình access tunnel với key shared



Tiếp theo thêm entry








Cuối cùng check status đã connnect chưa



Quay lại kiểm tra trên GOogle cloud nếu connect sẽ show tình trạng connect




Ta thử ping test về Domain controller, nếu ok xem như đã hoàn thành.




OK vậy là connect thành công.

Giờ đứng trên wks join domain, ping ...



OK, cuối cùng cũng hoàn thiện :) tùy vào nhu cầu sử dụng , mục đích mà cấu hình phù hợp.




Nhãn: ,

Reference - Hướng dẫn xây dựng server Squid proxy và quản lý proxy bằng webmin trên centos 7


Hôm nay rãnh rỗi nên nói chuyện về proxy, và quản lý nó như thế nào. Nói về Squid proxy thì nếu tìm hiểu về open source thì ai cũng biết. Có thể tích hợp nó vào một số firewall ,nói chung nói về web protection thì sẽ nghe qua, có thể dùng theo hướng tích hợp, hoặc cài riêng...

 Như đã nói hôm nay sẽ cài riêng squid trên server, nghe có vẻ hay hay , vậy cài lên rồi sài luôn ah, ok có thể được nó không khó lắm, chủ yếu bạn biết cách bố trí config tốt hay không thôi.


Mới nói tới đây có sẽ "What the f*ck" liền, ngồi mò đến khi nào ra, nhưng biết dùng cái này không thôi tốn khá nhiều thời gian đấy nhé, khá hay (Đã thử và bị lỗi khá nhiều khi config) kaka

Con người ta nói "Cái khó ló cái ngu" kaka, rãnh rỗi làm khó mình gọi là ngu, ok cứ vậy đi (chém đấy).

OK, quản lý nó sẽ dùng Webmin ? Nó là cài gì ? Webmin là một công cụ cấu hình hệ thống dựa trên web cho các hệ thống giống Unix, mặc dù các phiên bản gần đây cũng có thể được cài đặt và chạy trên Windows, nếu muốn biết nhiều thì tham khảo các bài hướng dẫn cài  Web Hosting Control Panel sẽ biết rõ hơn.

Chuẩn bị : Server Centos 7

Quá trình cài đặt :

Cài đặt thư viện perl : Như đã biết, webmin viết bằng ngôn ngữ perl, vậy cần cài thư viện cho nó

[root@localhost ~]# yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty




Cấu hình repos : Cấu hình repos để tải source và cài đặt webmin



Download và im port key : Mặc định centos core ko có wget nên cài wget, xong tải key về import vào server

[root@localhost ~]# yum install wget


[root@localhost ~]# wget http://www.webmin.com/jcameron-key.asc

[root@localhost ~]# rpm --import jcameron-key.asc




Cài webmin : dùng yum để cài webmin theo mặc định để nhanh, nếu chịu khó thì tải packed về tự config httpd và cài, cách nào cũng ok

[root@localhost ~]# yum install webmin



Khởi động webmin 

[root@localhost ~]# service webmin start

Config webmin auto chạy khi khởi đồng server

[root@localhost ~]# chkconfig webmin on

Đăng nhập vào webmin, default sẽ là port 10000



Và đăng nhập bằng tài khoản root



Phần trên coi như là khá dễ rồi, phần còn lại sẽ quan trọng hơn :

Khi đăng nhập vào ở menu Un-used Modules sẽ bao gồm rất nhiều module, bạn cần các định 2 module chính đó là : Squid Proxy Server và Squid Report Generator

Squid Proxy Server : Webmin sẽ hỗ trợ bạn cài trực tiếp trên webmin, bấm vào download và sẽ auto cài, nhanh mau lẹ luôn


Squid Report Generator : Đây là phần sẽ report lại thông tin proxy của bạn khi chạy, nó sẽ record mọi thông tin client nào dùng proxy, và các thông tin đi qua nó.


Khi bạn vào link thì chỉ thấy thông tin trên, khi lưu lại thì sẽ báo đường dẫn không tìm thấy, vấn đề là ở đây. Webmin sẽ ko hỗ trợ bạn cài report squid dùng Sarg. Căng thẳng hên, không hỗ trợ cài thì cài thôi.kaak

Tiến hành cài Sarg bằng tay thôi :

Vào lại puty và chạy những dòng lệnh sau, trước tiên cần biết khi cài report này cần phải buil packed cảu nó viết bằng C, mặc định của Centos core 7 không được cài

[root@localhost ~]# yum install –y gcc

Dùng wget tải gói mới nhất về, hiện tại bây giờ 2.3.11 mới nhất nhé

[root@localhost ~]# wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.11/sarg-2.3.11.tar.gz

Giải nén gói này sau khi đã tải xong

[root@localhost ~]# tar -xvzf sarg-2.3.11.tar.gz

[root@localhost ~]# cd sarg-2.3.11

[root@localhost ~]# ./configure

[root@localhost ~]# make

[root@localhost ~]# make install

Quá trình cài đặt và biên dịch khoản gần một phút sẽ xong

Tiếp theo dùng vi chỉnh file sarg.conf lại cho đúng như sau

[root@localhost ~]# vi /usr/local/etc/sarg.conf

Mở file config này và tìm nội dung sửa lại cho giống bên dưới

# sarg.conf
#
# TAG: access_log file 
#            Where is the access.log file 
#             sarg -l file 
access_log /var/log/squid/access.log


# TAG: output_dir 
# The reports will be saved in that directory 
# sarg -o dir 
#
 output_dir /var/squid-reports


# TAG: date_format 
# Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww) 
#
 date_format e

# TAG: overwrite_report yes|no
# yes - if report date already exist then will be overwritten. 
# no - if report date already exist then will be renamed to filename.n, filename.n+1 
overwrite_report yes

Check thông tin chính xác chưa :

[root@localhost ~]# sarg -x



Cuối cùng quay trwor lại webmin config lại và trỏ về file config này



Sau khi lưu lại nếu chính xác sẽ có giao diện sau :



OK, còn lại tham khảo các hình sau



Config port : config port cho proxy, ở đây dùng default : 3128



ACL : ở đây vidu chặn hết các tên mình google các quốc gia








Trong này có rất nhiều chức năng, do nhu cầu cần làm gì thôi, ở đây không thể ghi ra hết được, chức năng do kinh nghiệm và mức hấp thụ của mỗi người.

Sau mở trình duyệt trỏ về proxy :



Cuối cũng là xem thành quả :






Note: Tạo trang error khi vào web chặn

[root@localhost ~]# cd /usr/share/squid/errors/templates/

[root@localhost ~]# touch ERR_custom

[root@localhost ~]# vi ERR_custom





Report SARG :









Túm lại là Squid khá hay và mạnh :) không có nhiều thời gian để làm nhiều phần, nhiều bài nên cố gắng gói trọn trong một bài, cách khắc phục, cài đặt ... sẽ là sự lựa chọn khá tốt nếu bạn thích open source. Chỉ có làm cần gì thì gói ra, đây chỉ là basic thôi, còn custom page, config, nơi chứa log hiệu quả không bị tràn... bài viết này giúp có cái nhìn tổng quan hơn, rút ngắn thời gian hơn để hình dung xa hơn :)


Nhãn: