วิธีการติดตั้ง dotCMS บน Ubuntu 16.04

DotCMS เป็นระบบจัดการเนื้อหาโอเพนซอร์ซระดับองค์กรที่เขียนด้วยภาษาจาวา มันมีคุณสมบัติเกือบทุกอย่างที่จำเป็นในการสร้างเว็บไซต์สำหรับธุรกิจของคุณ มันมี RESTful API เพื่อรวมเข้ากับบริการอื่น ๆ เช่น CRM แอปพลิเคชันมือถือและอื่น ๆ มันใช้ Elasticsearch สำหรับการจัดทำดัชนีเนื้อหาแบบเรียลไทม์และ Redis สำหรับการใช้แคชหลายชั้น

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์ของเซิร์ฟเวอร์ Vultr Ubuntu 16.04
  • sudo ผู้ใช้
  • ชื่อโดเมนที่ชี้ไปยังเซิร์ฟเวอร์

สำหรับบทช่วยสอนนี้เราจะใช้ 192.168.0.1 เป็นที่อยู่ IP สาธารณะและ cms.example.com เป็นชื่อโดเมนที่ชี้ไปยังอินสแตนซ์ Vultr โปรดตรวจสอบให้แน่ใจว่าได้แทนที่ชื่อโดเมนตัวอย่างและที่อยู่ IP สาธารณะทั้งหมดด้วยชื่อจริง

ปรับปรุงระบบฐานของคุณใช้คู่มือ วิธีการปรับปรุง Ubuntu 16.04 เมื่อระบบของคุณอัปเดตแล้วให้ดำเนินการติดตั้ง Java

ติดตั้ง Java

เพิ่มที่เก็บ Ubuntu สำหรับ Oracle Java 8

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

ติดตั้ง Java

sudo apt -y install oracle-java8-installer

คุณจะสามารถตรวจสอบเวอร์ชั่นของ Java ได้

java -version

คุณจะเห็นผลลัพธ์ต่อไปนี้

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

ตั้งค่าพา ธ เริ่มต้นสำหรับ Java โดยการติดตั้งแพ็คเกจต่อไปนี้

sudo apt -y install oracle-java8-set-default

คุณสามารถตรวจสอบว่าJAVA_HOMEมีการตั้งค่า

echo $JAVA_HOME

คุณควรเห็นสิ่งต่อไปนี้

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

หากคุณไม่เห็นผลลัพธ์ใด ๆ เลยคุณจะต้องออกจากระบบเชลล์ปัจจุบันและกลับเข้าสู่ระบบ

ติดตั้ง PostgreSQL

โดยค่าเริ่มต้น dotCMS ถูกกำหนดค่าให้ใช้เอ็นจิ้นฐานข้อมูล H2 เอ็นจินฐานข้อมูล H2 เป็นเอ็นจินฐานข้อมูลแบบแฟล็ตไฟล์ ไม่แนะนำให้ใช้ในการผลิต ในบทช่วยสอนนี้เราจะใช้เซิร์ฟเวอร์ PostgreSQL เพื่อจัดเก็บฐานข้อมูล dotCMS

PostgreSQL เป็นระบบฐานข้อมูลเชิงวัตถุที่รู้จักกันดีในเรื่องความเสถียรและความเร็ว ที่เก็บเริ่มต้นของ Ubuntu มี PostgreSQL เวอร์ชันเก่าดังนั้นให้เพิ่มที่เก็บ PostgreSQL

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL

sudo apt -y install postgresql

เริ่มต้นเซิร์ฟเวอร์ PostgreSQL และเปิดใช้งานให้เริ่มโดยอัตโนมัติเมื่อบูตเครื่อง

sudo systemctl start postgresql
sudo systemctl enable postgresql

เปลี่ยนรหัสผ่านสำหรับผู้ใช้ PostgreSQL เริ่มต้น

sudo passwd postgres

เข้าสู่ระบบในฐานะผู้ใช้ PostgreSQL

sudo su - postgres

สร้างผู้ใช้ PostgreSQL ใหม่สำหรับ dotCMS

createuser dotcms 

PostgreSQL จัดเตรียม psql เชลล์เพื่อรันเคียวรีบนเซิร์ฟเวอร์ฐานข้อมูล สลับไปที่เชลล์ PostgreSQL

psql

ตั้งรหัสผ่านสำหรับผู้ใช้ที่สร้างขึ้นใหม่สำหรับฐานข้อมูล dotCMS

ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';

แทนที่รหัสผ่านผู้ใช้ฐานข้อมูลDBPassword ด้วยรหัสผ่าน ที่ปลอดภัย

สร้างฐานข้อมูลใหม่สำหรับการติดตั้ง dotCMS

CREATE DATABASE dotcms OWNER dotcms;

ออกจาก psql เปลือก

\q

เปลี่ยนเป็น sudo ผู้ใช้

exit

ติดตั้ง dotCMS

ดาวน์โหลดไฟล์เก็บถาวร dotCMS

wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.3.2.tar.gz

คุณสามารถพบการเชื่อมโยงให้เป็นเวอร์ชั่นล่าสุดของโปรแกรมประยุกต์บนที่ หน้าดาวน์โหลด dotCMS

สร้างไดเรกทอรีใหม่เพื่อจัดเก็บไฟล์ dotCMS และแตกออกมา

sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms

เปิดไฟล์คอนฟิกูเรชันฐานข้อมูล

cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml

ค้นหา H2 บล็อก

<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

ใส่ความคิดเห็นในH2 ส่วนทั้งหมด โดยเลื่อนตัวคั่นความคิดเห็น --> จากจุดเริ่มต้นของส่วนไปยังจุดสิ้นสุดของส่วน ควรมีลักษณะดังต่อไปนี้

<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
 ...

 validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->

uncomment ส่วน PostgreSQL โดยการลบความคิดเห็นคั่น จากจุดสิ้นสุดของส่วนและวางไว้บนห่อด้านบน--> POSTGRESQLค้นหา username= และ password= แทนที่ค่าที่มีอยู่ด้วยชื่อผู้ใช้และรหัสผ่านของผู้ใช้ฐานข้อมูล PostgreSQL ของคุณ ถ้าคุณได้ใช้ชื่อฐานข้อมูลอื่นที่ไม่ใช่ แล้วคุณจะต้องเปลี่ยนชื่อฐานข้อมูลในdotcms url=เมื่อกำหนดค่าแล้วบล็อก PostgreSQL ในไฟล์จะมีลักษณะดังต่อไปนี้

<!-- POSTGRESQL -->
<Resource name="jdbc/dotCMSPool" auth="Container"
      type="javax.sql.DataSource"
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      driverClassName="org.postgresql.Driver"
      url="jdbc:postgresql://localhost/dotcms"
      username="dotcms" password="DBPassword" maxTotal="60" maxIdle="10" maxWaitMillis="60000"
      removeAbandonedOnBorrow="true" removeAbandonedOnMaintenance="true" removeAbandonedTimeout="60" logAbandoned="true"
      timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />

จัดเตรียมสิทธิ์การเรียกใช้งานสำหรับไฟล์เรียกทำงานทั้งหมด

sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh

DotCMS ได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณแล้ว ในการเรียกใช้แอปพลิเคชั่นในทันที

cd /opt/dotcms
sudo bin/startup.sh

คุณจะเห็นผลลัพธ์ต่อไปนี้เมื่อเซิร์ฟเวอร์เริ่มต้นได้สำเร็จ

user@vultr:/opt/dotcms$ sudo bin/startup.sh
Using DOTCMS_HOME = /opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT
Using DOTSERVER = dotcms
Using CATALINA_PID = /tmp/dotcms.pid
Using JAVA_OPTS =  -Djava.awt.headless=true -Xverify:none -Dfile.encoding=UTF8 -server -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Xmx1G -XX:+UseG1GC -javaagent:/opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/byte-buddy-agent-1.6.12.jar -Ddotserver=dotcms
Using CATALINA_BASE:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_HOME:   /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_TMPDIR: /opt/dotcms/dotserver/tomcat-8.0.18/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/dotcms/dotserver/tomcat-8.0.18/bin/bootstrap.jar:/opt/dotcms/dotserver/tomcat-8.0.18/bin/tomcat-juli.jar
Using CATALINA_PID:    /tmp/dotcms.pid
Tomcat started.

คำสั่งดังกล่าวจะเริ่มต้นเว็บเซิร์ฟเวอร์ Tomcat 8080ที่จะให้บริการโปรแกรมประยุกต์บนพอร์ต

http://192.168.0.1:8080เปิดเบราว์เซอร์ที่คุณชื่นชอบและเรียกดู คุณจะเห็นว่าแอปพลิเคชันทำงานเว็บไซต์ตัวอย่าง หากคุณไม่เห็นเว็บไซต์ของคุณโปรดรอสักครู่เมื่อการเริ่มต้นครั้งแรกของเซิร์ฟเวอร์ dotCMS ใช้เวลาประมาณห้าถึงสิบนาทีในการเขียนข้อมูลลงในฐานข้อมูล PostgreSQL และสร้างแคช คุณยังสามารถตรวจสอบบันทึกการเริ่มต้น

tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log

กำหนดค่า Systemd

เซิร์ฟเวอร์ dotCMS สามารถเริ่มต้นได้โดยตรงโดยใช้สคริปต์เริ่มต้นที่ระบุในแพ็คเกจตัวติดตั้ง ตามความสะดวกคุณควรตั้งค่าไฟล์ Systemd unit สำหรับเซิร์ฟเวอร์ dotCMS สิ่งนี้จะช่วยให้มั่นใจได้ว่าแอ็พพลิเคชันเซิร์ฟเวอร์จะเริ่มต้นโดยอัตโนมัติเมื่อระบบรีสตาร์ทและล้มเหลว

หยุดการทำงานเซิร์ฟเวอร์ dotCMS โดยใช้สคริปต์การปิดระบบ

sudo bin/shutdown.sh

สร้างผู้ใช้ที่ไม่มีสิทธิใช้งานสำหรับการเรียกใช้เซิร์ฟเวอร์ dotCMS เพื่อเหตุผลด้านความปลอดภัย

sudo adduser --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login dotcms

มอบความเป็นเจ้าของไฟล์ให้กับผู้ใช้ dotCMS

sudo chown -R dotcms:dotcms /opt/dotcms

สร้างบริการ Systemd ใหม่

sudo nano /etc/systemd/system/dotcms.service

เติมไฟล์

[Unit]
Description=dotCMS service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/dotcms/bin/startup.sh
ExecStop=/opt/dotcms/bin/shutdown.sh
User=dotcms
Group=dotcms
Restart=always

[Install]
WantedBy=multi-user.target

เริ่มแอปพลิเคชันและเปิดใช้งานให้เริ่มโดยอัตโนมัติในเวลาบูต

sudo systemctl start dotcms
sudo systemctl enable dotcms

ตรวจสอบให้แน่ใจว่าบริการกำลังทำงานอยู่

sudo systemctl status dotcms

กำหนดค่า Reverse Proxy

โดยค่าเริ่มต้นเซิร์ฟเวอร์ dotCMS 8080ฟังบนพอร์ต เราจะกำหนดค่า Nginx เป็น reverse proxy เพื่อให้แอปพลิเคชันสามารถเข้าถึงได้ผ่านมาตรฐานHTTP และ HTTPS พอร์ต นอกจากนี้เรายังจะกำหนดค่า Nginx ให้ใช้ SSL ที่สร้างด้วย Let's Encrypt

ติดตั้ง Nginx

sudo apt -y install nginx

เริ่ม Nginx และเปิดใช้งานให้เริ่มโดยอัตโนมัติในเวลาบูต

sudo systemctl start nginx
sudo systemctl enable nginx

เพิ่มที่เก็บ Certbot

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

ติดตั้ง Certbot ซึ่งเป็นแอปพลิเคชันไคลเอนต์สำหรับ Let's Encrypt CA

sudo apt -y install certbot

หมายเหตุ: ในการรับใบรับรองจาก Let's Encrypt CA โดเมนที่จะสร้างใบรับรองนั้นจะต้องชี้ไปที่เซิร์ฟเวอร์ หากไม่มีให้ทำการเปลี่ยนแปลงที่จำเป็นกับระเบียน DNS ของโดเมนและรอให้ DNS เผยแพร่ก่อนทำการขอใบรับรองอีกครั้ง Certbot ตรวจสอบอำนาจโดเมนก่อนที่จะให้ใบรับรอง

สร้างใบรับรอง SSL

sudo certbot certonly --webroot -w /var/www/html -d cms.example.com

/etc/letsencrypt/live/cms.example.com/ใบรับรองที่สร้างขึ้นมีแนวโน้มที่จะถูกเก็บไว้ใน ลองเข้ารหัสใบรับรองหมดอายุใน 90 วันดังนั้นขอแนะนำให้ตั้งค่าการต่ออายุใบรับรองโดยอัตโนมัติโดยใช้งาน Cron

เปิดไฟล์งาน cron

sudo crontab -e

เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์

30 5 * * * /usr/bin/certbot renew --quiet

งาน cron ข้างต้นจะทำงานทุกวันเวลา 5.30 น. หากใบรับรองถึงกำหนดหมดอายุจะมีการต่ออายุโดยอัตโนมัติ

สร้างไฟล์บล็อกเซิร์ฟเวอร์ใหม่สำหรับเว็บไซต์ dotCMS

sudo nano /etc/nginx/sites-available/dotcms

เติมไฟล์

server {
    listen 80;
    server_name cms.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name cms.example.com;

    ssl_certificate           /etc/letsencrypt/live/cms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/cms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log            /var/log/nginx/dotcms.access.log;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;

      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://cms.example.com;
    }
  }

เปิดใช้งานการกำหนดค่า

sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms

รีสตาร์ทเว็บเซิร์ฟเวอร์ Nginx เพื่อให้การเปลี่ยนแปลงมีผล

sudo systemctl restart nginx

แอปพลิเคชัน dotCMS ได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณเพื่อใช้งานจริง เข้าถึงแดชบอร์ดการดูแลระบบตามที่อยู่ต่อไปนี้

https://cms.example.com/dotAdmin

เข้าสู่ระบบโดยใช้บัญชีผู้ดูแลระบบเริ่มต้น และรหัสผ่าน[email protected] adminเปลี่ยนรหัสผ่านเริ่มต้นทันทีหลังจากเข้าสู่ระบบ

ขอแสดงความยินดีระบบจัดการเนื้อหา dotCMS ได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณแล้ว คุณสามารถปรับเปลี่ยนไซต์ตัวอย่างหรือเริ่มสร้างเว็บไซต์ของคุณเองได้



Leave a Comment

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true