ตั้งค่า NFS Share บน Debian
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
คู่มือนี้ครอบคลุมถึงการติดตั้งและตั้งค่าพื้นฐานของ GitBucket สำหรับอินสแตนซ์ Vultr ที่ใช้งาน Ubuntu 16.04 และถือว่าคุณใช้คำสั่งในฐานะnon-root
ผู้ใช้
openjdk-8-jre
จำเป็นรุ่นที่เก่ากว่าจะไม่ทำงานwget
ใช้เพื่อดาวน์โหลดแพ็คเกจ GitBucketnginx
ทางเลือกจัดเตรียม reverse proxy ให้กับ GitBucketsystemd
จัดการเริ่มต้นและหยุดกระบวนการ GitBucketGitBucket ต้องการให้ติดตั้ง Java 8 หรือใหม่กว่าบนเซิร์ฟเวอร์ของคุณ หากคุณยังไม่ได้ติดตั้ง Java 8 ให้อัปเดตรายการแพคเกจท้องถิ่นของคุณก่อน
sudo apt update
จากนั้นติดตั้งแพ็คเกจรันไทม์ Java 8
sudo apt install openjdk-8-jre
เราจะต้องสร้างผู้ใช้ที่ไม่มีสิทธิพิเศษเพื่อเรียกใช้ GitBucket ก่อนดำเนินการเพิ่มเติม การเรียกใช้ GitBucket ภายใต้ผู้ใช้ที่ไม่มีสิทธิ์ จำกัด การติดตั้งของเราจากการเขียนนอกไดเรกทอรีข้อมูลของตนเองเสริมความปลอดภัยให้กับเซิร์ฟเวอร์ของคุณ gitbucket
เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างผู้ใช้ระบบที่เรียกว่า
sudo adduser --system gitbucket
เพราะเราได้สร้างระบบการใช้เปลือกเริ่มต้นเป็นและเราจะเตะกลับไปยังเปลือกปัจจุบันของเราถ้าเราให้การโต้แย้งเปลือกเพิ่มเติมเมื่อทำงาน/bin/false
su
เข้าสู่ระบบไปยังผู้ใช้ที่สร้างขึ้นใหม่
sudo su - gitbucket -s /bin/bash
ข้อความแจ้งของเชลล์ควรเปลี่ยนและคุณจะเข้าสู่ระบบของผู้ใช้ใหม่
นำทางไปยังหน้าเปิดตัว GitBucketและค้นหาเวอร์ชันล่าสุดที่มี คัดลอก URL สำหรับแพคเกจตรวจสอบคุณอยู่ในไดเรกทอรีบ้านของผู้ใช้ใหม่และดาวน์โหลดได้ด้วยgitbucket.war
wget
cd ~/
wget https://github.com/gitbucket/gitbucket/releases/download/4.18.0/gitbucket.war
คุณจะต้องทำซ้ำขั้นตอนนี้ทุกครั้งที่คุณต้องการอัพเดทแพ็คเกจ GitBucket
เมื่อดาวน์โหลดแพคเกจแล้วเราจะต้องเริ่ม GitBucket ด้วยตนเองเพื่อดำเนินการกำหนดค่าเริ่มต้น
java -jar gitbucket.war --port 8080
หาก8080
กระบวนการอื่นดำเนินการพอร์ตอยู่แล้วคุณสามารถเปลี่ยนพอร์ต GitBucket ที่จะรับฟังได้ทันที คำแนะนำนี้จะถือว่า GitBucket กำลังฟังพอร์ต8080
อยู่
นี่จะเริ่ม GitBucket บนอินเทอร์เฟซเครือข่ายสาธารณะของเซิร์ฟเวอร์ของคุณฟังที่พอร์ตที่ระบุ คุณควรเห็นหลังจากข้อความสักครู่ข้อความต่อไปนี้
INFO:oejs.Server:main: Started @15891ms
หากคุณกำลังใช้ไฟร์วอลล์ของ Vultrคุณจะต้องเปิดพอร์ตที่ GitBucket กำลังฟังอยู่เนื่องจากไฟร์วอลล์ของ Vultr ทำงานเป็นรายการขาวปฏิเสธการรับส่งข้อมูลเพื่ออนุญาตพอร์ตเว้นแต่จะระบุไว้เป็นอย่างอื่น
การติดตั้ง GitBucket ของคุณควรออนไลน์และสามารถเข้าถึงได้จากอินเทอร์เน็ต ใช้เว็บเบราว์เซอร์เชื่อมต่อกับที่อยู่สาธารณะของเซิร์ฟเวอร์ของคุณ (ต้องแน่ใจว่าระบุพอร์ตที่ GitBucket กำลังทำงานอยู่ (เช่นhttp://203.0.113.0:8080
หรือhttp://example.com:8080
) และคุณจะเข้าสู่หน้าแรกของ GitBucket
อย่างไรก็ตามรหัสผ่านของบัญชีผู้ดูแลระบบเริ่มต้นจะต้องมีการเปลี่ยนแปลง ในการดำเนินการดังกล่าวให้ลงชื่อเข้าใช้บัญชีผู้ดูแลระบบผ่านSign in
ปุ่มที่มุมขวาบนของเว็บอินเตอร์เฟส เข้าสู่ระบบเริ่มต้นสำหรับบัญชีผู้ดูแลระบบเป็นroot
ชื่อผู้ใช้แล้วroot
อีกครั้งสำหรับรหัสผ่าน เมื่อเข้าสู่ระบบปุ่มจะถูกแทนที่ด้วยไอคอนโปรไฟล์และเมนูแบบเลื่อนลง ขยายรายการแบบหล่นลงและเลือกAccount Settings
จากนั้นตั้งรหัสผ่านใหม่ที่ปลอดภัยยิ่งขึ้นในตัวช่วยสร้างการตั้งค่าบัญชี
หลังจากที่คุณได้อัปเดตข้อมูลประจำตัวของบัญชีผู้ดูแลระบบเริ่มต้นและสอบว่า GitBucket เริ่มต้นในการกำหนดค่าน้อยที่สุดนี้ฆ่ากระบวนการ Java ด้วย " CTRL+C
" exit
และปิดเปลือกปัจจุบันด้วย
ปัจจุบันเราสามารถเรียกใช้ GitBucket ได้โดยการเข้าถึงเซิร์ฟเวอร์ของเราผ่าน SSH และเริ่มต้นกระบวนการจากเชลล์ด้วยตนเอง โชคดีที่ Ubuntu มาพร้อมกับSystemd
แพ็กเกจล่วงหน้าทำให้เราสามารถสร้างบริการที่ GitBucket จะเริ่มทำงานอัตโนมัติและดูแลโดยระบบ
ใช้nano
สร้างไฟล์หน่วยใหม่ใน/etc/systemd/system
ไดเรกทอรี
sudo nano /etc/systemd/system/gitbucket.service
จากนั้นคัดลอกเนื้อหาต่อไปนี้ลงในไฟล์
[Unit]
Description=GitBucket
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080
ExecStop=/bin/kill -SIGINT $MAINPID
Type=simple
User=gitbucket
[Install]
WantedBy=multi-user.target
ไฟล์หน่วยนี้จะกำหนดการเริ่มต้นและการปิดเครื่องขั้นพื้นฐานสำหรับ GitBucket และเรียกใช้บริการภายใต้ผู้ใช้ระบบที่ไม่มีสิทธิพิเศษของเราบนอินเทอร์เฟซเครือข่ายเฉพาะที่
หากคุณเปลี่ยนหมายเลขพอร์ต GitBucket จะฟังให้เปลี่ยน--port
อาร์กิวเมนต์สำหรับExecStart
คำสั่ง
บันทึก (" CTRL+O
") ไฟล์หน่วยใหม่แล้วออกจากตัวแก้ไข (" CTRL+X
") คุณจะต้องโหลด Systemd ใหม่เพื���อให้ไฟล์ยูนิตใหม่ถูกค้นพบ
sudo systemctl daemon-reload
หลังจาก Systemd โหลดใหม่แล้วให้ตรวจสอบว่าหน่วยใหม่ถูกค้นพบและโหลดแล้ว
sudo systemctl status gitbucket
คุณควรเห็นผลลัพธ์ต่อไปนี้
gitbucket.service - GitBucket
Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled)
Active: inactive (dead)
สุดท้ายให้เปิดใช้งานหน่วยใหม่โดยอัตโนมัติเมื่อเซิร์ฟเวอร์ของคุณบูทจากนั้นเริ่มบริการเป็นครั้งแรก
sudo systemctl enable gitbucket
sudo systemctl start gitbucket
เมื่อบริการเริ่มต้นขึ้นคุณจะสามารถเข้าถึง GitBucket จากเบราว์เซอร์ของคุณโดยใช้ที่อยู่ IP และหมายเลขพอร์ตอีกครั้ง
ในขณะที่หนึ่งสามารถเปิดเผย GitBucket โดยตรงผ่านพอร์ต8080
คุณสามารถปรับปรุงประสิทธิภาพและกำหนดค่าคุณลักษณะต่างๆเช่น HTTP / 2, การเข้ารหัส TLS และกฎการแคชโดยเปิดเผย GitBucket ผ่าน Nginx
หากคุณยังไม่ได้ติดตั้ง Nginx ให้อัปเดตรายชื่อแพ็คเกจของคุณ
sudo apt update
จากนั้นติดตั้งแพคเกจ Nginx
sudo apt install nginx
เมื่อติดตั้ง Nginx แล้วให้ตรวจสอบว่าคุณสามารถเข้าถึงเว็บเซิร์ฟเวอร์ผ่านที่อยู่ IP ของเซิร์ฟเวอร์โดยไม่มีหมายเลขพอร์ต (เช่นhttp://203.0.113.0
หรือhttp://example.com
) หากประสบความสำเร็จคุณจะเห็นหน้า Landing Page เริ่มต้นของ Nginx สำหรับ Ubuntu
เราจะคัดลอกการกำหนดค่าไซต์เริ่มต้น/etc/nginx/sites-available
เป็นจุดเริ่มต้นสำหรับ reverse proxy
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/gitbucket
nano
เปิดแฟ้มการกำหนดค่าที่สร้างขึ้นใหม่ด้วย
sudo nano /etc/nginx/sites-available/gitbucket
ค้นหาlocation /
บล็อกที่มีอยู่ในบรรทัดที่ 43
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
ปัจจุบัน Nginx จะพยายามส่งคืนไฟล์ที่อยู่/var/www/html
ที่ตรงกับHTTP
คำขอที่เข้ามา เราจะต้องเปลี่ยนพฤติกรรมนี้โดยการกำหนดค่าพร็อกซีย้อนกลับในบล็อกนี้ซึ่งจะส่งคำขอ HTTP ทั้งหมดที่ส่งไปยังเซิร์ฟเวอร์ Nginx ของเราไปยังอินสแตนซ์ GitBucket แทน อัปเดตlocation /
บล็อกเพื่อให้ตรงกับต่อไปนี้
location / {
proxy_pass http://localhost:8080; # The address GitBucket is listening on
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_connect_timeout 150;
proxy_send_timeout 100;
proxy_read_timeout 100;
proxy_buffers 4 32k;
client_max_body_size 512m; # Needed for large Git operations over HTTP
client_body_buffer_size 128k;
}
หากคุณเปลี่ยนหมายเลขพอร์ตที่ GitBucket จะฟังให้อัปเดตproxy_pass
ตัวเลือกเพื่อแสดงถึงสิ่งนี้
ในการเปิดใช้งานการกำหนดค่าใหม่ของเราคุณจะต้องปิดการใช้งานการกำหนดค่าเริ่มต้นที่มีอยู่ใน/etc/nginx/sites-enabled
แล้วเชื่อมโยงการกำหนดค่าใหม่ของเรา/etc/nginx/sites-enabled
ผ่านทางต่อไปนี้
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/gitbucket /etc/nginx/sites-enabled/gitbucket
เมื่อเปิดใช้งานไฟล์กำหนดค่าแล้วให้ตรวจสอบข้อผิดพลาดทางไวยากรณ์ใด ๆ
sudo nginx -t
จากนั้นรีสตาร์ทเซิร์ฟเวอร์ Nginx เพื่อเปิดใช้งานการกำหนดค่าไซต์ใหม่ของเรา
sudo systemctl restart nginx
ตอนนี้คุณควรจะสามารถเข้าถึงการติดตั้ง GitBucket บนที่อยู่สาธารณะของเซิร์ฟเวอร์โดยไม่มีหมายเลขพอร์ต
ปัจจุบันอินสแตนซ์ GitBucket ของเรากำลังฟังบนอินเทอร์เฟซเครือข่ายสาธารณะของเซิร์ฟเวอร์ของเรา วิธีนี้จะช่วยให้ผู้ใช้สามารถหลีกเลี่ยงพร็อกซี Nginx ได้โดยเชื่อมต่อไปยังที่อยู่ที่ GitBucket กำลังฟังอยู่ในปัจจุบันซึ่งเป็นสิ่งที่ไม่พึงประสงค์ เราจะต้องแก้ไขไฟล์หน่วยที่เราสร้างไว้ก่อนหน้านี้เพื่อแก้ไขปัญหานี้ nano
เปิดแฟ้มหน่วยที่มี
sudo nano /etc/systemd/system/gitbucket.service
ผนวก--host 127.0.0.1
กับExecStart
คำสั่งเช่นดังนั้น
...
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080 --host 127.0.0.1
...
สิ่งนี้จะทำให้ GitBucket ยอมรับเฉพาะการเชื่อมต่อบนอินเทอร์เฟซเครือข่ายท้องถิ่นของเซิร์ฟเวอร์ของเรา อีกครั้งบันทึก (" CTRL+O
") ไฟล์ปิด (" CTRL+X
") ตัวแก้ไขรีโหลด Systemd และรีสตาร์ทหน่วย GitBucket ของเรา
sudo systemctl daemon-reload
sudo systemctl restart gitbucket
หากคุณใช้ไฟร์วอลล์ของ Vultr คุณควรลบกฎพอร์ตใด ๆ ที่คุณเพิ่มเพื่อเข้าถึงเซิร์ฟเวอร์ GitBucket ระหว่างการตั้งค่าเริ่มต้น
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
ใช้ระบบที่แตกต่างกันอย่างไร Directus 6.4 CMS เป็นระบบการจัดการเนื้อหาแบบไม่มีหัว (Headless Content Management: CMS) ที่ทรงพลังและยืดหยุ่นซึ่งให้ผู้พัฒนา
TeamTalk เป็นระบบการประชุมที่ช่วยให้ผู้ใช้สามารถสนทนาด้วยเสียง / วิดีโอคุณภาพสูงสนทนาผ่านข้อความถ่ายโอนไฟล์และแชร์หน้าจอ มันฉัน
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
สฟิงซ์เป็นเครื่องมือค้นหาข้อความแบบโอเพนซอร์ซฟรีและโอเพนซอร์สซึ่งสามารถรวมเข้ากับเว็บแอปพลิเคชั่นต่าง ๆ เพื่อให้ได้คุณภาพที���รวดเร็วและสูง
Vultr มีคุณสมบัติที่อนุญาตให้คุณติดตั้งคีย์ SSH ล่วงหน้าเมื่อสร้างอินสแตนซ์ใหม่ สิ่งนี้อนุญาตให้คุณเข้าถึงผู้ใช้รูทเซิร์ฟเวอร์อย่างไรก็ตาม
ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora
ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
ใช้ระบบที่แตกต่างกันอย่างไร Snipe-IT เป็นเว็บแอปพลิเคชั่นฟรีและโอเพนซอร์สสำหรับการจัดการสินทรัพย์ด้านไอที มันถูกเขียนบนกรอบงาน Laravel 5.2 และการใช้งาน
ใช้ระบบที่แตกต่างกันอย่างไร ไทกะเป็นแอปพลิเคชั่นฟรีและโอเพ่นซอร์สสำหรับการจัดการโครงการ ซึ่งแตกต่างจากเครื่องมือการจัดการโครงการอื่น ๆ ไทก้าใช้ส่วนเพิ่ม
FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ
CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม
Ranger เป็นตัวจัดการไฟล์แบบบรรทัดคำสั่งที่มีการเชื่อมโยงคีย์ VI มันจัดเตรียมอินเตอร์เฟส curses ที่เรียบง่ายและดีพร้อมมุมมองบนลำดับชั้นไดเร็กทอรี
ใช้ระบบที่แตกต่างกันอย่างไร Brotli เป็นวิธีการบีบอัดแบบใหม่ที่มีอัตราการบีบอัดที่ดีกว่า GZIP ซอร์สโค้ดของมันถูกโฮสต์แบบสาธารณะบน Githu นี้
ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น
ใช้ระบบที่แตกต่างกันอย่างไร Omeka Classic 2.4 CMS เป็นแพลตฟอร์มเผยแพร่ดิจิตอลฟรีและโอเพ่นซอร์สและระบบการจัดการเนื้อหา (CMS) สำหรับการแบ่งปันดิจิต้า
การอนุญาตให้ล็อกอินรูทผ่าน SSH นั้นถือว่าเป็นการปฏิบัติด้านความปลอดภัยที่ไม่ดีทั่วทั้งอุตสาหกรรมเทคโนโลยี คุณสามารถดำเนินการที่ละเอียดอ่อนแทน
ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย
ใช้ระบบที่แตกต่างกันอย่างไร RabbitMQ เป็นนายหน้าข้อความโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายเขียนในภาษาการเขียนโปรแกรม Erlang เป็นมิดเดิลแวร์ที่มุ่งเน้นข้อความ
ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์
เรียนรู้วิธีการติดตั้ง 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