XWiki เป็นแพลตฟอร์มวิกิโอเพนซอร์สระดับองค์กรที่เป็นที่นิยมซึ่งเขียนด้วยภาษาจาวา ด้วยความสามารถในการขยายและใช้งานง่าย XWiki จึงถูกนำไปใช้ใน บริษัท ต่าง ๆ เช่นคลังความรู้, พอร์ทัลสาธารณะและอีกมากมาย
ในบทความนี้ฉันจะแนะนำคุณตลอดกระบวนการติดตั้ง XWiki 9.11.2 บนอินสแตนซ์เซิร์ฟเวอร์ Ubuntu 16.04 LTS OpenJDK 8, Tomcat 8 และ MySQL 5.7 จะถูกติดตั้งโดยอัตโนมัติเป็นการอ้างอิงในระหว่างกระบวนการติดตั้ง
ข้อกำหนดเบื้องต้น
- Vultr Ubuntu 16.04 LTS x64 เซิร์ฟเวอร์อินสแตนซ์ใหม่ที่มีหน่วยความจำอย่างน้อย 2GB แนะนำให้ใช้ 4GB หรือมากกว่า บอกว่าที่อยู่ IP
203.0.113.1
ของมันคือ
- sudo ผู้ใช้
apt
อินสแตนซ์เซิร์ฟเวอร์ได้รับการปรับปรุงสถานะที่มั่นคงโดยใช้ล่าสุด
ติดตั้ง repo XWiki LTS APT
เข้าสู่ระบบในฐานะผู้ใช้ sudo จากนั้นดาวน์โหลดและตั้งค่า XWiki LTS (การสนับสนุนระยะยาว) APT repo บนเซิร์ฟเวอร์อินสแตนซ์ของคุณ:
cd
wget -q "https://maven.xwiki.org/public.gpg" -O- | sudo apt-key add -
sudo wget "https://maven.xwiki.org/lts/xwiki-lts.list" -P /etc/apt/sources.list.d/
sudo apt update
หมายเหตุ: หากคุณต้องการลองรุ่น XWiki ที่เสถียรล่าสุด (แต่ไม่ใช่ LTS) คุณสามารถดาวน์โหลด repo XWiki APT ด้านล่างแทน:
cd
wget -q "https://maven.xwiki.org/public.gpg" -O- | sudo apt-key add -
sudo wget "https://maven.xwiki.org/stable/xwiki-stable.list" -P /etc/apt/sources.list.d/
sudo apt update
ติดตั้งชุด XWiki ทั้งหมดหนึ่งชุด (รวมถึง XWiki LTS 9.11.2, Tomcat 8, MySQL 5.7, และอื่น ๆ )
เมื่อปรับใช้ในการผลิต XWiki จำเป็นต้องทำงานกับคอนเทนเนอร์ Java Servlet และซอฟต์แวร์ฐานข้อมูล ในฐานะที่เป็นแพลตฟอร์มวิกิที่มีความยืดหยุ่น XWiki มีตัวเลือกการรวมที่หลากหลายอย่างเป็นทางการ คุณสามารถใช้คำสั่งต่อไปนี้เพื่อแสดงตัวเลือกที่มีอยู่ทั้งหมดใน repo XWiki LTS APT:
apt search xwiki
ผลการค้นหาจะมีลักษณะดังต่อไปนี้:
xwiki-common/lts 9.11.2 all
xwiki-mysql-common/lts 9.11.2 all
xwiki-pgsql-common/lts 9.11.2 all
xwiki-solr-data/lts 9.11.2 all
xwiki-tomcat7-common/lts 9.11.2 all
xwiki-tomcat7-mysql/lts 9.11.2 all
xwiki-tomcat7-pgsql/lts 9.11.2 all
xwiki-tomcat8-common/lts 9.11.2 all
xwiki-tomcat8-mysql/lts 9.11.2 all
xwiki-tomcat8-pgsql/lts 9.11.2 all
หากคุณต้องการใช้ XWiki ที่มีการขึ้นต่อกันมากที่สุดคุณสามารถติดตั้งส่วนประกอบที่จำเป็นทั้งหมดได้ในคำสั่งเดียวดังนี้:
sudo apt install xwiki-tomcat8-mysql/lts -y
ระหว่างกระบวนการติดตั้งระบบจะขอให้คุณตั้งรหัสผ่านใหม่สำหรับผู้ใช้รูท MySQL หลายครั้ง เพียงปล่อยให้ฟิลด์รหัสผ่านว่างเปล่าและกดEnter
เพื่อข้ามขั้นตอนนี้ไปก่อน เราจะแก้ไขปัญหานี้ในภายหลังในขณะที่รักษาความปลอดภัยการติดตั้ง MySQL
เมื่อถูกถามว่าคุณต้องการที่จะConfigure database for xwiki with dbconfig-common?
เลือกและกด<Yes>
ENTER
เมื่อถูกขอให้ระบุMySQL application password for xwiki
คุณสามารถป้อนรหัสผ่านแอปพลิเคชัน MySQL เฉพาะหรือปล่อยให้ฟิลด์รหัสผ่านว่างเปล่า หลังจะบอกให้ XWiki ใช้รหัสผ่านแอปพลิเคชัน MySQL แบบสุ่ม
การติดตั้ง XWiki และการพึ่งพาที่จำเป็นทั้งหมด, การติดตั้ง MySQL อย่างปลอดภัย
sudo /usr/bin/mysql_secure_installation
ในระหว่างกระบวนการโปรแกรมจะถามคำถามสองสามข้อ ตอบกลับพวกเขาดังนี้:
- คุณต้องการตั้งค่าปลั๊กอินรหัสผ่านที่ถูกต้องหรือไม่ Y
- กรุณาใส่ 0 = ต่ำ 1 = ปานกลางและ 2 = แข็งแกร่ง: 2
- รหัสผ่านใหม่:
a-strong-MySQL-root-password
- ป้อนรหัสผ่านใหม่:
a-strong-MySQL-root-password
- คุณต้องการดำเนินการต่อโดยใช้รหัสผ่านที่ให้ไว้หรือไม่ Y
- ลบผู้ใช้ที่ไม่ระบุชื่อหรือไม่ Y
- ไม่อนุญาตให้ล็อกอินรูทจากระยะไกล Y
- ลบฐานข้อมูลทดสอบและเข้าถึงหรือไม่ Y
- โหลดตารางสิทธิ์เดี๋ยวนี้หรือไม่ Y
ปรับปรุงความปลอดภัยของ XWiki โดยแก้ไขไฟล์ XWiki config
ใช้เครื่องมือแก้ไข vi เพื่อเปิดไฟล์กำหนดค่า XWiki:
sudo vi /etc/xwiki/xwiki.cfg
ค้นหาสองบรรทัดที่แสดงด้านล่าง:
xwiki.authentication.validationKey=totototototototototototototototo
xwiki.authentication.encryptionKey=titititititititititititititititi
แทนที่ค่าของพารามิเตอร์ทั้งสองด้วยสตริงสุ่มต่างกันสองสตริงและตรวจสอบให้แน่ใจว่าความยาวของแต่ละสตริงนั้นเหมือนกันกับสตริงอื่นตัวอย่างเช่น
xwiki.authentication.validationKey=f0130dfa6fc841e920d5e1056184c03e
xwiki.authentication.encryptionKey=z84kf92ko073tgjdnvkdfmms91qa0ke4
บันทึกและออก:
:wq!
โควต้าหน่วยความจำเริ่มต้นต่ำเกินไปสำหรับการเรียกใช้ Tomcat 8 และ XWiki ภายใน คุณต้องเพิ่มโควต้าหน่วยความจำเริ่มต้นดังต่อไปนี้ก่อนที่คุณจะสามารถเริ่มต้นอินสแตนซ์ XWiki ใน Tomcat 8 ได้อย่างถูกต้อง
sudo cp /etc/default/tomcat8 /etc/default/tomcat8.bak
sudo vi /etc/default/tomcat8
ค้นหาบรรทัด:
JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"
แก้ไขบรรทัดดังที่แสดงด้านล่าง:
JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m"
หมายเหตุ: หน่วยความจำ 1024M เป็นโควต้าขั้นต่ำสำหรับการเรียกใช้ไซต์ XWiki ขนาดเล็กหรือขนาดกลาง คุณอาจต้องทำการปรับเปลี่ยนบรรทัดนี้ตามความต้องการเฉพาะของคุณ
บันทึกและออก:
:wq!
รีสตาร์ท Tomcat 8 เพื่อให้การปรับเปลี่ยนทั้งหมดของคุณมีผล:
sudo systemctl restart tomcat8.service
ปรับเปลี่ยน UFW กฎไฟร์วอลล์เพื่อให้เข้าถึงเว็บบนพอร์ต8080
:
sudo ufw allow 8080
sudo ufw enable
เริ่มต้น XWiki บนDistribution Wizard
เว็บอินเตอร์เฟส" "
ณ จุดนี้คุณได้ติดตั้งไซต์ XWiki ที่ใช้งานได้ แต่ว่างเปล่า ในการกรอกเนื้อหาคุณต้องดำเนินการงานติดตามหลายอย่างให้เสร็จสิ้นรวมถึงการสร้างผู้ใช้ที่เป็นผู้ดูแลระบบและติดตั้งรสชาติและส่วนขยายที่จำเป็นสำหรับวิกินี้บนเว็บอินเตอร์เฟส XWiki เริ่มต้นที่ชื่อว่า " Distribution Wizard
"
ชี้เว็บเบราว์เซอร์ที่คุณชื่นชอบไปที่http://203.0.113.1:8080/xwiki
และคุณจะเข้าสู่Distribution Wizard
เว็บอินเตอร์เฟส" " โดยอัตโนมัติ คลิกปุ่ม " Continue
" เพื่อเริ่มตัวช่วยสร้าง
ในStep 1 - Admin user
หน้า "" คุณจะต้องป้อนข้อมูลปร���จำตัวของผู้ดูแลระบบเช่น:
FIRST NAME: `John`
LAST NAME: `Doe`
USERNAME (Required): `johndoe`
PASSWORD (Required): `yourpassword`
CONFIRM PASSWORD (Required): `yourpassword`
EMAIL ADDRESS: `[email protected]`
เมื่อกรอกข้อมูลในฟิลด์ที่จำเป็นครบถ้วนแล้วให้คลิกปุ่ม " Register and login
" เพื่อไปต่อ
ในหน้าถัดไปที่แสดง " You are connected with user John Doe.
" ให้คลิกContinue
ปุ่ม "" เพื่อสร้างผู้ใช้John Doe
ที่เป็นชื่อผู้ใช้johndoe
และดำเนินการต่อ
ในStep 2 - Flavor
หน้า "" ให้คลิกที่XWiki Standard Flavor 9.11.2
พื้นที่ "" เพื่อเน้นที่รสชาตินี้แล้วคลิกInstall this flavor
ปุ่ม "" เพื่อไปต่อ
ในหน้าถัดไปซึ่งแสดงรายละเอียด " XWiki Standard Flavor 9.11.2
" ให้คลิกInstall
ปุ่ม "" เพื่อทำการติดตั้ง
เมื่อติดตั้งรสแล้วส่วนขยายที่จำเป็นทั้งหมดจะปรากฏในหน้าคลิกContinue
ปุ่ม "" เพื่อติดตั้งทั้งหมด
เมื่อติดตั้งรสและส่วนขยายที่จำเป็นทั้งหมดแล้วให้คลิกContinue
ปุ่ม "" ที่มุมขวาล่างเพื่อไปต่อ
ในStep 4 - Report
หน้า "" คุณสามารถตรวจสอบทุกหน้าที่สร้างขึ้น
หากจำเป็นคุณสามารถลบหน้าที่ไม่เป็นที่นิยมได้โดยคลิกที่X
ปุ่มสีแดงที่เกี่ยวข้อง
สุดท้ายให้คลิกContinue
ปุ่ม "" เพื่อเสร็จสิ้นการ " Distribution Wizard
" คุณจะเข้าสู่แผงควบคุม XWiki ในฐานะผู้ใช้ผู้ดูแลระบบที่คุณตั้งค่าไว้ก่อนหน้านี้
(ไม่บังคับ) ย่อ URL ไซต์ XWiki ให้สั้นลง
โดยค่าเริ่มต้นตั้งแต่ Tomcat สามารถให้บริการมากกว่าหนึ่งโปรแกรมในเวลาเดียวกันคุณจะต้องเข้าถึงเว็บไซต์ XWiki ของคุณที่ http://203.0.113.1:8080/xwiki
URL อย่างไรก็ตามหาก XWiki เป็นแอปพลิเคชั่นเดียวที่ทำงานใน Tomcat และคุณต้องการย่อ URL ของไซต์ XWiki ให้สั้นลงโดยการลบ/xwiki
คำต่อท้ายคุณควรแก้ไขไฟล์กำหนดค่า XWiki สามไฟล์ดังนี้
การแก้ไขไฟล์ 1:
cd /etc/tomcat8/Catalina/localhost/
sudo cp xwiki.xml ROOT.xml
sudo mv xwiki.xml xwiki.xml.bak
การแก้ไขไฟล์ 2:
cd /etc/xwiki
sudo cp xwiki-tomcat8.xml xwiki-tomcat8.xml.bak
sudo vi xwiki-tomcat8.xml
ค้นหาบรรทัด:
<Context path="/xwiki" docBase="/usr/lib/xwiki" privileged="true" crossContext="true">
แก้ไขค่าของพารามิเตอร์พา ธ :
<Context path="/" docBase="/usr/lib/xwiki" privileged="true" crossContext="true">
บันทึกและออก:
:wq!
การแก้ไขไฟล์ 3:
cd /etc/xwiki
sudo cp xwiki.cfg xwiki.cfg.bak
sudo vi xwiki.cfg
ค้นหาบรรทัด:
# xwiki.webapppath=
ไม่ใส่ข้อคิดเห็น:
xwiki.webapppath=
บันทึกและออก:
:wq!
ขั้นสุดท้ายให้รีสตาร์ท Tomcat 8 เพื่อปรับใช้การปรับเปลี่ยนทั้งหมดของคุณ:
sudo systemctl restart tomcat8.service
จากนี้ไปคุณจะไปที่ไซต์ XWiki ของคุณhttp://203.0.113.1:8080/
โดยตรง
(ทางเลือก) ตั้งค่าพร็อกซีย้อนกลับ Nginx
โดยค่าเริ่มต้น Tomcat 8 ทำงานบนพอร์ต8080
และคุณสามารถเยี่ยมชมไซต์ XWiki ของคุณจากพอร์ตเดียวกันเท่านั้น หากคุณต้องการอำนวยความสะดวกในการเข้าถึงของผู้เยี่ยมชมโดยการลบหมายเลขพอร์ตคุณสามารถติดตั้ง Nginx เป็น reverse proxy ระหว่าง XWiki และผู้เยี่ยมชม
ก่อนอื่นให้ติดตั้ง Nginx โดยใช้ apt:
sudo apt install nginx -y
ถัดไปให้ตั้งค่า Nginx เป็นพร็อกซีย้อนกลับโดยปรับเปลี่ยนการกำหนดค่าไซต์เริ่มต้น:
cd /etc/nginx/sites-available
sudo mv default default.bak
sudo vi default
เติมไฟล์ดังต่อไปนี้:
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
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-Host $server_name;
}
}
บันทึกและออก:
:wq!
เริ่มบริการ Nginx และตั้งค่าให้เริ่มโดยอัตโนมัติเมื่อเริ่มต้นระบบ:
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
สุดท้ายปรับเปลี่ยนกฎไฟร์วอลล์ UFW ตามลำดับ:
sudo ufw allow 80
sudo ufw deny 8080
sudo ufw reload
จากนี้ไปผู้เข้าชมเว็บไซต์ XWiki ของคุณไม่จำเป็นต้องระบุหมายเลขพอร์ตอีกต่อไป http://203.0.113.1/
พวกเขาโดยตรงควรเยี่ยมชม