Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)
Naudojate kitą sistemą? Jei perkate Debian serverį, visada turėtumėte turėti naujausius saugos pataisymus ir naujinimus, nesvarbu, ar miegate, ar ne
„Ruby on Rails“ yra populiari „Ruby“ žiniatinklio sistema, sukurta siekiant padidinti programuotojo produktyvumą. Tačiau kartais gali būti sudėtinga priversti įvairius brangakmenius ir priklausomybes veikti kartu. Šis vadovas padės sukurti visiškai gamybai paruoštą Rails aplinką, įskaitant dažniausiai naudojamus brangakmenius ir priklausomybes.
Pastaba : labai rekomenduojama neįdiegti nė vienos iš šių paslaugų kaip root, nes galite susidurti su ataka. Įsteigti deploy
ar app
vartotojas yra bendras susitarimas:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Įsitikinkite, kad Ubuntu VM naudojate visus naujausius paketus:
sudo apt-get update && sudo apt-get upgrade -y
Kad būtų galima kompiliuoti Ruby naudojant rbenv ir kitus brangakmenius, reikia įdiegti įvairius paketus. Priklausomai nuo jums reikalingos Ruby versijos, kai kurių paketų gali ir neprireikti.
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
Tai būtini norint sudaryti keletą brangakmenių, tokių kaip keleivis:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Ruby bendruomenė naudoja Git kaip pasirinktą SCM; tačiau galima įdiegti ir papildomų, pvz., Mercurial ar Subversion:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Reikalingas keliems populiariems brangakmeniams, kuriems reikia vietinių XML libsų:
sudo apt-get install -y libxml2-dev libxslt-dev
Pridėkite oficialias saugyklas iš Node su naujausia versija, nes numatytosios Ubuntu saugyklos paprastai atsilieka nuo kelių pagrindinių versijų:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Šie paketai nėra būtini, kad sistema veiktų, tačiau juos gerai turėti, jei reikia naudoti tam tikrus brangakmenius.
Šios bibliotekos nėra būtinos ir gali būti praleistos, nebent planuojate naudoti vaizdo manipuliavimo brangakmenius; pvz Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Įdiekite SQLite arba PostgreSQL tvarkykles, jei reikia prisijungti prie kitų duomenų bazių arba pageidaujate paprastos vietinės DB:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Priemonės, kurios paprastai nėra iš anksto įdiegtos naujame „Ubuntu“ diegime. Nedvejodami įdiekite pasirinktą teksto rengyklę:
sudo apt-get install -y iotop htop nano vim
MariaDB yra galingas reliacinis SQL serveris, visiškai suderinamas su MySQL. Lengviausias būdas įdiegti naujausią MariaDB versiją yra naudoti oficialias saugyklas:
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
Vykdykite nurodymus ir nustatykite root slaptažodį. Po to patikrinkite, ar galite pasiekti naują diegimą:
mysql -V
Bus rodoma eilutė, panaši į šią:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
Prisijunkite prie MySQL apvalkalo:
mysql -h localhost -u root -p
Pastaba : naudokite \q
norėdami išeiti.
Įdiekite Rbenv naudodami git. Tai yra paprasčiausias diegimo būdas ir leidžia lengvai atnaujinti vėliau. Taip pat įdiekite ruby-build
, ji yra atsakinga už faktinį skirtingų Ruby versijų sudarymą:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Pastaba : kai reikia atnaujinti paprasčiausiai cd ~/.rbenv
ir git pull
.
Padarykite „Rbenv“ ir „Ruby-build“ pasiekiamus apvalkale. Siekiant užtikrinti, kad eksporto linijos gauti įdėta pradžioje iš .bashrc
failo, kuris yra svarbus ne interaktyvių bash komandų, naudokite šias eilutes:
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
Patikrinkite, ar „Rbenv“ ir „Ruby-build“ yra įdiegti ir ar yra apvalkalo:
rbenv install --list
Jei rbenv
neatpažįstamas, atsijunkite ir vėl prisijunkite prie apvalkalo.
Sukurkite ~/.bash_profile
failą ir nukreipkite jį į ~/.bashrc
failo šaltinį . Jei jums reikia paleisti bet kokias neinteraktyvias apvalkalo komandas iš „Rails“ programos, pvz., „Cron“ užduočių sąranką naudojant „ whenever
gem“, ji naudos tą pačią „Ruby“ versiją kaip ir jūsų interaktyvusis apvalkalas. Tai gali padėti išvengti keistų klaidų. Pridėkite šią eilutę prie ~/.bash_profile
failo:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Įdiekite Ruby 2.4.1:
rbenv install 2.4.1
Pastaba : šis procesas gali užtrukti 5–15 minučių, atsižvelgiant į jūsų VM išteklius, o eigos juostos nėra.
Padarykite „Rbenv“ prieinamą visur.
rbenv global 2.4.1
Pridėkite PGP raktą ir HTTPS palaikymą 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
Pridėkite keleivių saugyklą:
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
Įdiekite „Passenger + Nginx“ modulius:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Apsilankykite savo „Vultr“ egzemplioriuje naudodami jo domeno pavadinimą arba IP, kad patikrintumėte juos šiuo metu. Jei jie veikia, jūsų puslapyje bus rodomas numatytasis „Nginx“ pasveikinimo puslapis.
Įdiekite Bundler ir bėgius:
gem install bundler rails --no-ri --no-rdoc
„Ubuntu“ / „Debian“ susitarimas yra nustatyti programą /var/www
. Pagal numatytuosius nustatymus jį rašo tik root. Kad sąranka veiktų, suteikite nuosavybės teisę sudo vartotojui deploy
:
sudo chown deploy:deploy /var/www -R
Sukurkite bėgių programą /var/www/
. Jei jau turite programą, kurią norite įdiegti, git clone
paleiskite ją čia ir paleiskite bundle
:
cd /var/www
rails new example --database=mysql
Paruoškite Nginx.
sudo nano /etc/nginx/nginx.conf
Pakeiskite vartotoją į deploy
.
user deploy;
Į http
iš config skyriuje, ten turėtų būti liniją, pasakoja Nginx įkelti moduliai įskaitant keleivių. Jei jo trūksta, galite pridėti jį iškart po Virtual Host Configs
pavadinimo, bet prieš sites-enabled
.
include /etc/nginx/conf.d/*.conf;
Redaguoti / sukurti passenger.conf
failą.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Pasakykite keleiviui, kad jis naudotų mūsų Rbenv sąranką. Jame gali būti eilutė, nukreipianti į „Ruby“ versiją, įtrauktą į „Passenger“, tiesiog ištrinkite arba pakomentuokite.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Nustatykite virtualųjį pagrindinį kompiuterį, kad nukreiptumėte į programą, esančią /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
}
Iš naujo paleiskite Nginx.
sudo service nginx restart
Šiuo metu jūsų programa yra paruošta naudoti kūrimo režimu. Norėdami perjungti į gamybos režimą, turite grįžti į „Nginx“ konfigūraciją ir pakeisti rails_env
nustatymą į production
.
Prieš pereiti prie gamybos režimu, jūs vis tiek reikės sukonfigūruoti savo gamybos bazę example_production
, database.yml
ir slaptą raktą. Išbandykite įrankį, pvz., „Capistrano“ ar „Mina“, kad pagreitintumėte programos diegimo procesą. Gera praktika yra naudoti ENV kintamuosius su brangakmeniu, pvz. dotenv
, , ir neįtraukti slaptažodžių, slaptųjų raktų ir pan. į savo git saugyklą.
Yra keletas paslaugų, siūlančių jūsų domeno SSL sertifikatus, daugelis yra mokami, o keletas yra nemokami. Nustatykite SSL, nesvarbu, kokia paslauga naudojatės. Let's Encrypt yra labai paprasta ir nemokama naudoti. „Let's Encrypt“ yra ne pelno siekianti organizacija, kurią remia daugelis technologijų gigantų.
Vykdykite šias komandas ir vykdykite nurodymus.
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
Jei dabar eisite į savo Vultr egzempliorių naudodami HTTPS
, pamatysite saugią svetainę.
Jūsų naujai išduotas sertifikatas baigs galioti ir jį reikės periodiškai atnaujinti. Lengviausias būdas tai padaryti yra nustatyti cron darbą.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
Paskutinis, bet neprivalomas veiksmas – iš naujo paleiskite VM ir įsitikinkite, kad visos paslaugos paleidžiamos iš naujo, kaip tikėtasi.
Naudojate kitą sistemą? Jei perkate Debian serverį, visada turėtumėte turėti naujausius saugos pataisymus ir naujinimus, nesvarbu, ar miegate, ar ne
PHP ir susiję paketai yra dažniausiai naudojami komponentai diegiant žiniatinklio serverį. Šiame straipsnyje sužinosime, kaip nustatyti PHP 7.0 arba PHP 7.1 o
Šiame vadove paaiškinama, kaip nustatyti DNS serverį naudojant Bind9 sistemoje Debian arba Ubuntu. Visame straipsnyje atitinkamai pakeiskite savo-domeno-vardas.com. Prie th
Naudojate kitą sistemą? „Red5“ yra atvirojo kodo medijos serveris, įdiegtas „Java“, leidžiantis paleisti „Flash“ kelių vartotojų programas, tokias kaip tiesioginis srautas.
Šiame straipsnyje pamatysime, kaip sukompiliuoti ir įdiegti pagrindinę Nginx liniją iš oficialių Nginx šaltinių naudojant PageSpeed modulį, kuris leidžia
Naudojate kitą sistemą? Vanilla forumas yra atvirojo kodo forumo programa, parašyta PHP. Tai visiškai pritaikoma, paprasta naudoti ir palaiko išorinę
Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti
Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti
Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina Git. Gitea parašyta golangu ir yra
Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina git. Gitea parašyta golangu ir yra
Įvadas Lynis yra nemokama atvirojo kodo sistemos audito priemonė, kurią naudoja daugelis sistemų administratorių, kad patikrintų vientisumą ir sustiprintų savo sistemas. aš
Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys
Naudojate kitą sistemą? DotCMS yra atvirojo kodo, įmonės lygio turinio valdymo sistema, parašyta Java. Jame yra beveik visos reikalingos funkcijos t
Naudojate kitą sistemą? BigTree CMS 4.2 yra greita ir lengva, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), turinti platų
Ko jums reikia Vultr VPS su mažiausiai 1 GB RAM. SSH prieiga (su root / administratoriaus teisėmis). 1 veiksmas: „BungeeCord“ diegimas Pirmiausia
Naudojate kitą sistemą? Docker yra programa, leidžianti diegti programas, kurios vykdomos kaip konteineriai. Tai buvo parašyta populiarioje Go programoje
Golang yra programavimo kalba, kurią sukūrė Google. Dėl savo universalumo, paprastumo ir patikimumo Golangas tapo vienu populiariausių
Kas yra purvina karvė (CVE-2016-5195)? „Dirty Cow“ pažeidžiamumas išnaudojamas „Linux“ apdorojant kodą. Tai leidžia neprivilegijuotam vartotojui gai
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį