ตั้งค่า NFS Share บน Debian
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
Ruby on Rails เป็นเฟรมเวิร์กเว็บไซต์ยอดนิยมสำหรับ Ruby ที่พัฒนาขึ้นเพื่อเพิ่มผลผลิตของโปรแกรมเมอร์ อย่างไรก็ตามการได้รับอัญมณีและการพึ่งพาต่าง ๆ เพื่อทำงานร่วมกันอาจทำให้เกิดความยุ่งยากในบางครั้ง คู่มือนี้จะช่วยคุณในการตั้งค่าสภาพแวดล้อม Rails ที่พร้อมใช้งานเต็มรูปแบบรวมถึงพลอยและการใช้งานทั่วไป
หมายเหตุ : ขอแนะนำอย่างยิ่งให้ไม่ติดตั้งบริการใด ๆ เหล่านี้ในฐานะรูทเนื่องจากคุณอาจเปิดเผยตัวเองว่าเป็นการโจมตี การตั้งค่าdeploy
หรือapp
ผู้ใช้เป็นแบบแผนทั่วไป:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
ตรวจสอบให้แน่ใจว่าคุณใช้แพ็คเกจล่าสุดทั้งหมดบน Ubuntu VM ของคุณ:
sudo apt-get update && sudo apt-get upgrade -y
เพื่อให้สามารถรวบรวมทับทิมโดยใช้rbenvและอัญมณีอื่น ๆ แพ็คเกจต่างๆจะต้องติดตั้ง ขึ้นอยู่กับเวอร์ชั่นของ Ruby ที่คุณต้องการบางแพ็คเกจอาจไม่จำเป็น
sudo apt-get install -y curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev
sudo apt-get install -y libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev
sudo apt-get install -y python-software-properties libffi-dev
sudo apt-get install -y build-essential openssl libreadline6 libreadline6-dev libreadline-dev
sudo apt-get install -y automake libtool bison pkg-config bison autoconf libc6-dev ncurses-dev
sudo apt-get install -y libapr1-dev libaprutil1-dev libx11-dev libffi-dev tcl-dev tk-dev
สิ่งเหล่านี้จำเป็นต้องรวบรวมอัญมณีหลายอย่างเช่นผู้โดยสาร:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
ชุมชน Ruby ใช้ Git เป็นตัวเลือก SCM แต่สามารถติดตั้งเพิ่มเติมเช่น Mercurial หรือ Subversion ได้เช่นกัน:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
จำเป็นสำหรับอัญมณียอดนิยมหลายตัวที่ต้องการ libs XML ดั้งเดิม:
sudo apt-get install -y libxml2-dev libxslt-dev
เพิ่มที่เก็บอย่างเป็นทางการจาก Node ด้วยรุ่นล่าสุดเนื่องจากที่เก็บของ Ubuntu เริ่มต้นมีแนวโน้มที่จะล้าหลังรุ่นหลักสองสามประการ:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
แพคเกจเหล่านี้ไม่จำเป็นสำหรับระบบที่จะเรียกใช้ แต่จะดีถ้าคุณต้องใช้อัญมณีบางอย่าง
ไลบรารีเหล่านี้ไม่จำเป็นและสามารถข้ามไปได้เว้นแต่ว่าคุณวางแผนที่จะใช้อัญมณีจัดการรูปภาพ เช่น Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
ติดตั้งไดรเวอร์สำหรับ SQLite หรือ PostgreSQL หากคุณต้องการเชื่อมต่อกับฐานข้อมูลอื่นหรือต้องการ DB ท้องถิ่นที่เรียบง่าย:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
ยูทิลิตี้ที่ปกติไม่ได้ติดตั้งมาพร้อมกับการติดตั้ง Ubuntu ใหม่ รู้สึกอิสระที่จะติดตั้งโปรแกรมแก้ไขข้อความที่คุณเลือก:
sudo apt-get install -y iotop htop nano vim
MariaDB เป็นเซิร์ฟเวอร์ SQL เชิงสัมพันธ์ที่ทรงพลังซึ่งเข้ากันได้กับ MySQL อย่างสมบูรณ์ วิธีที่ง่ายที่สุดในการติดตั้ง MariaDB เวอร์ชันล่าสุดคือการใช้แหล่งเก็บข้อมูลอย่างเป็นทางการ:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
sudo apt update
sudo apt install -y mariadb-server
ทำตามคำแนะนำและตั้งค่ารหัสผ่านรูท หลังจากตรวจสอบว่าคุณสามารถเข้าถึงการติดตั้งใหม่ของคุณ:
mysql -V
มันจะแสดงบรรทัดที่คล้ายกับสิ่งนี้:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
เข้าสู่ระบบ MySQL shell:
mysql -h localhost -u root -p
หมายเหตุ : ใช้\q
เพื่อออก
ติดตั้ง Rbenv โดยใช้คอมไพล์ นี่เป็นวิธีการติดตั้งที่ง่ายที่สุดและช่วยให้สามารถอัปเดตได้ง่ายในภายหลัง นอกจากนี้การติดตั้งruby-build
มันมีหน้าที่รวบรวมเวอร์ชั่นต่าง ๆ ของ Ruby:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
หมายเหตุ : เมื่อคุณจำเป็นต้องปรับปรุงเพียงและcd ~/.rbenv
git pull
ทำให้ Rbenv และ Ruby-build พร้อมใช้งานในเชลล์ เพื่อให้แน่ใจว่าบรรทัดการเอ็กซ์พอร์ตจะถูกแทรกที่จุดเริ่มต้นของ.bashrc
ไฟล์ซึ่งมีความสำคัญสำหรับคำสั่ง bash แบบไม่โต้ตอบให้ใช้บรรทัดเหล่านี้:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.temp_bashrc
echo 'eval "$(rbenv init -)"' >> ~/.temp_bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.temp_bashrc
cat ~/.temp_bashrc ~/.bashrc > ~/.combined_bashrc && mv ~/.combined_bashrc ~/.bashrc && rm ~/.temp_bashrc
exec $SHELL
ตรวจสอบว่าติดตั้ง Rbenv และ Ruby-build และมีอยู่ในเชลล์หรือไม่:
rbenv install --list
หากrbenv
ไม่ได้รับการยอมรับให้ออกจากระบบและกลับเข้าสู่เชลล์
สร้าง~/.bash_profile
ไฟล์และชี้ไปที่แหล่ง~/.bashrc
ไฟล์ของคุณ หากคุณต้องการเรียกใช้คำสั่งเชลล์ที่ไม่ใช่แบบโต้ตอบจากแอพ Rails ของคุณเช่นการติดตั้งงาน cron โดยwhenever
อัญมณีมันจะใช้ Ruby รุ่นเดียวกันกับเชลล์เชิงโต้ตอบของคุณ สิ่งนี้สามารถช่วยป้องกันข้อผิดพลาดแปลก ๆ เพิ่มบรรทัดนี้ใน~/.bash_profile
ไฟล์:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
ติดตั้ง Ruby 2.4.1:
rbenv install 2.4.1
หมายเหตุ : กระบวนการนี้อาจใช้เวลา 5-15 นาทีขึ้นอยู่กับทรัพยากรบน VM ของคุณและไม่มีแถบความคืบหน้า
ทำให้ Rbenv ใช้ได้ทุกที่
rbenv global 2.4.1
เพิ่มคีย์ PGP และ HTTPS รองรับ apt:
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
เพิ่มที่เก็บข้อมูลผู้โดยสาร:
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger zesty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
ติดตั้งโมดูล Passenger + Nginx:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
เยี่ยมชมอินสแตนซ์ Vultr ของคุณโดยใช้ชื่อโดเมนหรือ IP เพื่อทดสอบสิ่งเหล่านี้ ณ จุดนี้ หากพวกเขาทำงานหน้าของคุณจะแสดงหน้าต้อนรับ Nginx เริ่มต้น
ติดตั้ง Bundler และ Rails:
gem install bundler rails --no-ri --no-rdoc
อูบุนตู / Debian /var/www
ประชุมคือการติดตั้งแอปของคุณ โดยค่าเริ่มต้นมันเป็นเพียงการเขียนโดยรูต เพื่อให้การตั้งค่าใช้งานได้ให้ความเป็นเจ้าของแก่ผู้ใช้ sudo deploy
:
sudo chown deploy:deploy /var/www -R
/var/www/
สร้างแอปพลิเครางใน หากคุณมีแอพที่คุณต้องการปรับใช้git clone
มันอยู่ที่นี่แล้วเรียกใช้bundle
:
cd /var/www
rails new example --database=mysql
เตรียม Nginx
sudo nano /etc/nginx/nginx.conf
deploy
ผู้ใช้เปลี่ยนไป
user deploy;
ในhttp
ส่วนของการกำหนดค่าควรมีบรรทัดที่บอก Nginx ให้โหลดโมดูลรวมถึงผู้โดยสาร ถ้ามันหายไปคุณสามารถเพิ่มได้ทันทีหลังจากที่Virtual Host Configs
ชื่อ sites-enabled
แต่ก่อน
include /etc/nginx/conf.d/*.conf;
แก้ไข / สร้างpassenger.conf
ไฟล์
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
บอกผู้โดยสารให้ใช้การตั้งค่า Rbenv ของเรา อาจมีบรรทัดที่ชี้ไปที่รุ่น Ruby ที่มาพร้อมกับผู้โดยสารเพียงแค่ลบหรือแสดงความคิดเห็น
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
/var/www/example/
การตั้งค่าโฮสต์เสมือนที่จะชี้ไปที่แอปใน
sudo nano /etc/nginx/sites-enabled/example.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example/public;
passenger_enabled on;
# When you are ready to switch to production mode - change this to `production`
passenger_app_env development; # <-- !important
}
รีสตาร์ท Nginx
sudo service nginx restart
ณ จุดนี้แอปพลิเคชันของคุณพร้อมที่จะใช้ในโหมดการพัฒนา สลับไปที่โหมดการผลิตที่คุณต้องกลับไปที่การตั้งค่า Nginx ของคุณและเปลี่ยนการตั้งค่าไปrails_env
production
ก่อนที่คุณจะสลับไปที่โหมดการผลิตคุณจะยังคงต้องติดตั้งฐานข้อมูลการผลิตของคุณexample_production
, database.yml
และคีย์ลับ ลองใช้เครื่องมืออย่าง Capistrano หรือ Mina เพื่อเร่งกระบวนการปรับใช้แอพพลิเคชันของคุณ เป็นวิธีปฏิบัติที่ดีในการใช้ตัวแปร ENV กับอัญมณีเช่นdotenv
เดียวกันและห้ามใช้รหัสผ่านคีย์ลับและเช่นที่เก็บ git ของคุณ
มีบริการหลายอย่างที่ให้ใบรับรอง SSL สำหรับโดเมนของคุณส่วนมากได้รับการชำระเงินและไม่กี่บริการฟรี ตั้งค่า SSL ไม่ว่าคุณจะใช้บริการใด Let's Encryptนั้นใช้ง่ายมากและฟรี Let's Encrypt เป็นองค์กรที่ไม่แสวงหาผลกำไรที่ได้รับการสนับสนุนจากยักษ์ใหญ่ด้านเทคโนโลยีมากมาย
เรียกใช้คำสั่งต่อไปนี้และปฏิบัติตามคำแนะนำ
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx
sudo certbot renew --dry-run
หากคุณไปที่อินสแตนซ์ Vultr ของคุณตอนนี้ใช้HTTPS
คุณจะเห็นเว็บไซต์ที่ปลอดภัย
ใบรับรองที่ออกใหม่ของคุณจะหมดอายุและจะต้องได้รับการต่ออายุเป็นระยะ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการตั้งค่างาน cron
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
เป็นขั้นตอนสุดท้าย แต่เป็นทางเลือกให้รีบูต VM ของคุณและตรวจสอบให้แน่ใจว่าบริการทั้งหมดเริ่มต้นใหม่ตามที่คาด
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