Alfresco Community Edition เป็นเวอร์ชั่นโอเพ่นซอร์สของ Alfresco Content Services มันเขียนใน Java และใช้ PostgreSQL เพื่อจัดเก็บฐานข้อมูล Alfresco เป็นระบบการจัดการเนื้อหาขององค์กรสำหรับสินทรัพย์ดิจิทัลหลายประเภทเช่นเอกสารบันทึก, เว็บ, รูปภาพ, วิดีโอและอื่น ๆ นอกจากนี้ยังใช้สำหรับการพัฒนาเนื้อหาร่วมกัน ที่เก็บไฟล์ของ Alfresco ที่โฮสต์ของคุณสามารถเข้าถึงได้โดยใช้ SMB, WebDAV, FTP และ CIMS การค้นหาผ่านไฟล์นั้นขับเคลื่อนโดย Apache Solr
ข้อกำหนดเบื้องต้น
- อินสแตนซ์ของเซิร์ฟเวอร์ Vultr CentOS 7 ที่มี RAM อย่างน้อย 4GB
- sudo ผู้ใช้
- ชื่อโดเมนที่ชี้ไปยังเซิร์ฟเวอร์
สำหรับบทช่วยสอนนี้เราจะใช้192.168.0.1
เป็นที่อยู่ IP สาธารณะและshare.example.com
เป็นชื่อโดเมนที่ชี้ไปยังอินสแตนซ์ Vultr โปรดตรวจสอบให้แน่ใจว่าได้แทนที่ชื่อโดเมนตัวอย่างและที่อยู่ IP สาธารณะทั้งหมดด้วยชื่อจริง
ปรับปรุงระบบฐานของคุณใช้คู่มือวิธีการปรับปรุง CentOS 7 เมื่อระบบของคุณอัปเดตแล้วให้ดำเนินการติดตั้งการอ้างอิงต่อ
ติดตั้งการพึ่งพา
Alfresco จัดเตรียมแพ็คเกจติดตั้งไบนารีตัวติดตั้งซึ่งมีซอฟต์แวร์ทั้งหมดที่จำเป็นในการเรียกใช้แอปพลิเคชัน อย่างไรก็ตามเราจำเป็นต้องติดตั้งการขึ้นต่อกันเล็กน้อยเพื่อรองรับปลั๊กอิน LibreOffice
sudo yum -y install fontconfig libSM libICE libXrender libXext cups-libs libGLU cairo mesa-libGL-devel
ลบ Postfix
sudo yum -y remove postfix
ติดตั้ง Alfresco
ดาวน์โหลดแพ็คเกจการติดตั้งจากเว็บไซต์ Alfresco คุณสามารถค้นหาเชื่อมโยงไปยังตัวติดตั้งล่าสุดเกี่ยวกับที่หน้าดาวน์โหลดอัลเฟรสโก
wget https://download.alfresco.com/release/community/201707-build-00028/alfresco-community-installer-201707-linux-x64.bin
ให้สิทธิ์การดำเนินการกับไฟล์โปรแกรมติดตั้ง
sudo chmod +x alfresco-community-installer-201707-linux-x64.bin
เริ่มการติดตั้ง
sudo ./alfresco-community-installer-201707-linux-x64.bin
เลือกภาษาของการติดตั้ง สำหรับประเภทการติดตั้งคุณสามารถเลือกวิธีแรกที่ระบุว่า " Easy install
" สิ่งนี้จะติดตั้งแอปพลิเคชั่นด้วยการกำหนดค่าเริ่มต้น
เลือกตำแหน่งเริ่มต้น/opt/alfresco-community
สำหรับการติดตั้งแอปพลิเคชัน
ระบุรหัสผ่านผู้ดูแลระบบและเลือก " Y
" สำหรับการติดตั้งเป็นบริการ สิ่งนี้จะสร้างบริการเริ่มต้นเพื่อเริ่มต้นและจัดการกระบวนการแอปพลิเคชันได้อย่างง่ายดาย
หมายเหตุ: Alfresco แนะนำอย่างน้อย 2 CPU และ 4GB RAM หากระบบของคุณไม่มีการกำหนดค่าที่แนะนำคุณอาจได้รับคำเตือนว่าสภาพแวดล้อมไม่ได้รับการกำหนดค่าอย่างเหมาะสมที่สุดสำหรับ Alfresco Content Services อย่างไรก็ตามคุณยังคงสามารถดำเนินการติดตั้งต่อได้
การติดตั้งแอพพลิเคชั่นควรเริ่มต้นทันที เมื่อติดตั้งแอปพลิเคชันแล้วคุณจะถูกถามว่าคุณต้องการเปิดใช้งานเซิร์ฟเวอร์ชุมชน Alfresco หรือไม่ หากคุณเลือก " Y
" แอปพลิเคชันจะเริ่มเซิร์ฟเวอร์ทันทีและคุณจะเห็นผลลัพธ์ต่อไปนี้
Launch Alfresco Community [Y/n]: y
waiting for server to start.... done
server started
/opt/alfresco-community/postgresql/scripts/ctl.sh : postgresql started at port 5432
Using CATALINA_BASE: /opt/alfresco-community/tomcat
Using CATALINA_HOME: /opt/alfresco-community/tomcat
Using CATALINA_TMPDIR: /opt/alfresco-community/tomcat/temp
Using JRE_HOME: /opt/alfresco-community/java
Using CLASSPATH: /opt/alfresco-community/tomcat/bin/bootstrap.jar:/opt/alfresco-community/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /opt/alfresco-community/tomcat/temp/catalina.pid
Tomcat started.
/opt/alfresco-community/tomcat/scripts/ctl.sh : tomcat started
เนื่องจากตัวติดตั้งเพิ่มบริการเริ่มต้นคุณจึงสามารถเริ่มต้นแอปพลิเคชันได้
sudo systemctl start alfresco
เปิดใช้งานบริการ Alfresco เพื่อเริ่มต้นโดยอัตโนมัติในเวลาบูตและความล้มเหลว
sudo systemctl enable alfresco
โดยค่าเริ่มต้น Alfresco เริ่มเว็บเซิร์ฟเวอร์ Tomcat 8080
ที่จะให้บริการโปรแกรมประยุกต์บนพอร์ต ในการตรวจสอบว่าเซิร์ฟเวอร์ Alfresco ใช้งานได้หรือไม่ให้อนุญาตพอร์ตที่ต้องการ8080
ผ่านไฟร์วอลล์ระบบ
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
เปิดเบราว์เซอร์ที่คุณชื่นชอบและไปที่http://192.168.0.1:8080/share
คุณจะเห็นหน้า Landing Page ของ Alfresco
โดยค่าเริ่มต้นเซิร์ฟเวอร์ Tomcat Alfresco 8080
ของฟังพอร์ต ในบทช่วยสอนนี้เราจะใช้ Nginx เป็น reverse proxy เพื่อให้แอปพลิเคชันสามารถเข้าถึงได้ผ่านทางมาตรฐานHTTP
และHTTPS
พอร์ต นอกจากนี้เรายังจะกำหนดค่า Nginx ให้ใช้ SSL ที่สร้างขึ้นด้วย Let's Encrypt SSL ฟรี
ติดตั้งเว็บเซิร์ฟเวอร์ Nginx
sudo yum -y install nginx
เริ่มเว็บเซิร์ฟเวอร์และเปิดใช้งานให้เริ่มโดยอัตโนมัติในเวลาบูต
sudo systemctl start nginx
sudo systemctl enable nginx
ติดตั้ง Certbot ซึ่งเป็นแอปพลิเคชันไคลเอนต์สำหรับ Let's Encrypt CA
sudo yum -y install certbot
ก่อนที่คุณจะสามารถขอใบรับรองได้คุณจะต้องอนุญาตให้ใช้พอร์ต80
และ443
ผ่านไฟร์วอลล์ นอกจากนี้ให้ลบพอร์ต8080
ออกจากรายการข้อยกเว้นไฟร์วอลล์เนื่องจากไม่จำเป็นต้องใช้อีกต่อไป
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
หมายเหตุ: ในการรับใบรับรองจาก Let's Encrypt CA โดเมนที่จะสร้างใบรับรองนั้นจะต้องชี้ไปที่เซิร์ฟเวอร์ หากไม่มีให้ทำการเปลี่ยนแปลงที่จำเป็นกับระเบียน DNS ของโดเมนและรอให้ DNS เผยแพร่ก่อนทำการขอใบรับรองอีกครั้ง Certbot ตรวจสอบอำนาจโดเมนก่อนที่จะให้ใบรับรอง
สร้างใบรับรอง SSL
sudo certbot certonly --webroot -w /usr/share/nginx/html -d share.example.com
/etc/letsencrypt/live/share.example.com/
ใบรับรองที่สร้างขึ้นมีแนวโน้มที่จะถูกเก็บไว้ใน ลองเข้ารหัสใบรับรองหมดอายุใน 90 วันดังนั้นขอแนะนำให้ตั้งค่าการต่ออายุใบรับรองโดยอัตโนมัติโดยใช้งาน Cron
เปิดไฟล์งาน cron
sudo crontab -e
เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์
30 5 * * * /usr/bin/certbot renew --quiet
งาน cron ข้างต้นจะทำงานทุกวันเวลา 5.30 น. หากใบรับรองหมดอายุเนื่องจากหมดอายุใบรับรองนั้นจะถูกต่ออายุใหม่โดยอัตโนมัติ
แก้ไขไฟล์กำหนดค่าเซิร์ฟเวอร์ Tomcat ของ Alfresco
sudo nano /opt/alfresco-community/tomcat/conf/server.xml
ค้นหาบรรทัดต่อไปนี้
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="32768" />
เพิ่มบรรทัดproxyPort="443" scheme="https"
ในบล็อกการกำหนดค่าด้านบนเพื่อให้ดูเหมือนกับบล็อกที่แสดงด้านล่าง
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="32768"
proxyPort="443" scheme="https" />
เปิดไฟล์กำหนดค่าเริ่มต้นของ Alfresco
sudo nano /opt/alfresco-community/tomcat/shared/classes/alfresco-global.properties
ค้นหาบรรทัดต่อไปนี้
alfresco.context=alfresco
alfresco.host=127.0.0.1
alfresco.port=8080
alfresco.protocol=http
share.context=share
share.host=127.0.0.1
share.port=8080
share.protocol=http
...
system.serverMode=UNKNOWN
เปลี่ยนบรรทัดด้านบนตามระบบของคุณ มันควรดูเหมือนสิ่งที่แสดงด้านล่าง
alfresco.context=alfresco
alfresco.host=share.example.com
alfresco.port=443
alfresco.protocol=https
share.context=share
share.host=share.example.com
share.port=443
share.protocol=https
...
system.serverMode=PRODUCTION
สร้างไฟล์บล็อกเซิร์ฟเวอร์ใหม่สำหรับ Alfresco
sudo nano /etc/nginx/conf.d/share.example.com.conf
เติมไฟล์
server {
listen 80;
server_name share.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name share.example.com;
ssl_certificate /etc/letsencrypt/live/share.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/share.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/alfresco.access.log;
location / {
root /opt/alfresco-community/tomcat/webapps/ROOT;
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_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080;
proxy_redirect default;
}
location /share/ {
root /opt/alfresco-community/tomcat/webapps/share/;
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_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080/share/;
proxy_redirect http:// https://;
}
location /alfresco/ {
root /opt/alfresco-community/tomcat/webapps/alfresco/;
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_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080/alfresco/;
proxy_redirect http:// https://;
}
}
รีสตาร์ทเว็บเซิร์ฟเวอร์และบริการ Alfresco เพื่อให้การเปลี่ยนแปลงในการกำหนดค่ามีผล
sudo systemctl restart nginx alfresco
ตอนนี้ Alfresco ได้รับการติดตั้งและกำหนดค่าบนเซิร์ฟเวอร์ของคุณเข้าถึงโมดูล Alfresco ตามที่อยู่ต่อไปนี้
https://share.example.com/alfresco
หากต้องการเข้าถึงบริการแบ่งปัน Alfresco โปรดไปที่ที่อยู่ต่อไปนี้
https://share.example.com/share
เข้าสู่ระบบโดยใช้บัญชีผู้ดูแลระบบเริ่มต้นadmin
และรหัสผ่านที่คุณเลือกระหว่างการติดตั้ง
ขอแสดงความยินดีขณะนี้ Alfresco community edition ได้รับการติดตั้งบนเซิร์ฟเวอร์ของคุณแล้ว