วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
DotCMS เป็นระบบจัดการเนื้อหาโอเพนซอร์ซระดับองค์กรที่เขียนด้วยภาษาจาวา มันมีคุณสมบัติเกือบทุกอย่างที่จำเป็นในการสร้างเว็บไซต์สำหรับธุรกิจของคุณ มันมี RESTful API เพื่อรวมเข้ากับบริการอื่น ๆ เช่น CRM แอปพลิเคชันมือถือและอื่น ๆ มันใช้ Elasticsearch สำหรับการจัดทำดัชนีเนื้อหาแบบเรียลไทม์และ Redis สำหรับการใช้แคชหลายชั้น
สำหรับบทช่วยสอนนี้เราจะใช้ 192.168.0.1
เป็นที่อยู่ IP สาธารณะและ cms.example.com
เป็นชื่อโดเมนที่ชี้ไปยังอินสแตนซ์ Vultr โปรดตรวจสอบให้แน่ใจว่าได้แทนที่ชื่อโดเมนตัวอย่างและที่อยู่ IP สาธารณะทั้งหมดด้วยชื่อจริง
ปรับปรุงระบบฐานของคุณใช้คู่มือ วิธีการปรับปรุง Ubuntu 16.04 เมื่อระบบของคุณอัปเดตแล้วให้ดำเนินการติดตั้ง 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
หากคุณไม่เห็นผลลัพธ์ใด ๆ เลยคุณจะต้องออกจากระบบเชลล์ปัจจุบันและกลับเข้าสู่ระบบ
โดยค่าเริ่มต้น 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
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
เซิร์ฟเวอร์ 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
โดยค่าเริ่มต้นเซิร์ฟเวอร์ 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 ได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณแล้ว คุณสามารถปรับเปลี่ยนไซต์ตัวอย่างหรือเริ่มสร้างเว็บไซต์ของคุณเองได้
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์
เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true