Opsæt Cacti på Debian Jessie
Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed
Ruby on Rails er en populær webramme for Ruby, der blev udviklet for at øge en programmørs produktivitet. Det kan dog nogle gange blive svært at få forskellige ædelstene og afhængigheder til at fungere sammen. Denne vejledning hjælper dig med at opsætte et komplet produktionsklart Rails-miljø inklusive almindeligt brugte ædelstene og afhængigheder.
Bemærk : Det anbefales stærkt ikke at installere nogen af disse tjenester som root, da du kan udsætte dig selv for et angreb. Opsætning af en deploy
eller app
bruger er en almindelig konvention:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Sørg for, at du kører alle de nyeste pakker på din Ubuntu VM:
sudo apt-get update && sudo apt-get upgrade -y
For at kunne kompilere Ruby ved hjælp af rbenv og andre ædelstene, skal forskellige pakker installeres. Afhængigt af hvilken version af Ruby du skal bruge, er nogle af pakkerne muligvis ikke nødvendige.
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
Disse er nødvendige for at kompilere flere ædelstene, såsom Passager:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Ruby-fællesskabet bruger Git som en valgfri SCM; men yderligere, som Mercurial eller Subversion, kan også installeres:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Påkrævet for flere populære ædelstene, der har brug for native XML-libs:
sudo apt-get install -y libxml2-dev libxslt-dev
Tilføj officielle depoter fra Node med den seneste version som standard Ubuntu-depoter har en tendens til at halte bagud et par større versioner:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Disse pakker er ikke nødvendige for at systemet kan køre, men er gode at have, hvis du skal bruge bestemte ædelstene.
Disse biblioteker er ikke nødvendige og kan springes over, medmindre du planlægger at bruge ædelstene til billedmanipulation; såsom Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Installer drivere til SQLite eller PostgreSQL, hvis du har brug for at oprette forbindelse til andre databaser eller foretrækker en simpel, lokal DB:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Hjælpeprogrammer, der normalt ikke kommer forudinstalleret på en ny Ubuntu-installation. Du er velkommen til at installere din foretrukne teksteditor:
sudo apt-get install -y iotop htop nano vim
MariaDB er en kraftfuld relationel SQL-server, der er fuldt kompatibel med MySQL. Den nemmeste måde at installere den seneste version af MariaDB på er at bruge officielle depoter:
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
Følg vejledningen og opsæt en root-adgangskode. Bekræft derefter, at du kan få adgang til din nye installation:
mysql -V
Det vil vise en linje, der ligner denne:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
Log ind på MySQL-skallen:
mysql -h localhost -u root -p
Bemærk : Brug \q
til at afslutte.
Installer Rbenv ved hjælp af git. Dette er den enkleste installationsmetode, og den giver mulighed for nemme opdateringer senere. Installer også ruby-build
, det er ansvarligt for faktisk at kompilere forskellige versioner af Ruby:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Bemærk : Når du skal opdatere simpelthen cd ~/.rbenv
og git pull
.
Gør Rbenv og Ruby-build tilgængelige i skallen. For at sikre, at eksportlinjerne bliver indsat i begyndelsen af .bashrc
filen, hvilket er vigtigt for ikke-interaktive bash-kommandoer, skal du bruge disse linjer:
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
Tjek om Rbenv og Ruby-build er installeret og er tilgængelige i shell:
rbenv install --list
Hvis rbenv
det ikke genkendes, skal du logge ud og logge ind i skallen igen.
Opret en ~/.bash_profile
fil og peg den til kilden til din ~/.bashrc
fil. Hvis du har brug for at køre nogen ikke-interaktive shell-kommandoer fra din Rails-app, såsom cron-job, der er opsat af whenever
perlen, vil den bruge den samme version af Ruby som din interaktive shell. Dette kan hjælpe med at forhindre mærkelige fejl. Tilføj denne linje til ~/.bash_profile
filen:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Installer Ruby 2.4.1:
rbenv install 2.4.1
Bemærk : Denne proces kan tage 5-15 minutter afhængigt af ressourcerne på din VM, og der er ingen statuslinje.
Gør Rbenv tilgængelig overalt.
rbenv global 2.4.1
Tilføj PGP-nøglen og HTTPS-understøttelse for 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
Tilføj passagerlageret:
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
Installer Passenger + Nginx-modulerne:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Besøg din Vultr-instans ved at bruge dets domænenavn eller IP for at teste disse på dette tidspunkt. Hvis de virker, vil din side vise standard Nginx velkomstside.
Installer Bundler og skinner:
gem install bundler rails --no-ri --no-rdoc
Ubuntu/Debian-konventionen er at konfigurere din app i /var/www
. Som standard kan den kun skrives med root. For at opsætningen skal fungere, skal du give ejerskab til sudo-brugeren deploy
:
sudo chown deploy:deploy /var/www -R
Generer rails-appen i /var/www/
. Hvis du allerede har en app, du vil implementere, git clone
kører den her og derefter bundle
:
cd /var/www
rails new example --database=mysql
Forbered Nginx.
sudo nano /etc/nginx/nginx.conf
Skift bruger til deploy
.
user deploy;
I http
sektionen af konfigurationen skal der være en linje, der fortæller Nginx at indlæse moduler inklusive passager. Hvis det mangler, kan du tilføje det lige efter Virtual Host Configs
titlen, men før sites-enabled
.
include /etc/nginx/conf.d/*.conf;
Rediger/opret passenger.conf
filen.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Fortæl Passenger at bruge vores Rbenv-opsætning. Den kan indeholde en linje, der peger på Ruby-versionen, der følger med Passenger, bare slet eller kommenter den.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Konfigurer virtuel vært til at pege på appen 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
}
Genstart Nginx.
sudo service nginx restart
På dette tidspunkt er din applikation klar til at blive brugt i udviklingstilstand. For at skifte til produktionstilstand skal du gå tilbage til din Nginx-konfiguration og ændre rails_env
indstillingen til production
.
Før du skifter til produktion tilstand, vil du stadig nødt til at sætte din produktion database example_production
, database.yml
og hemmelig nøgle. Tjek et værktøj som Capistrano eller Mina for at fremskynde din applikationsimplementeringsproces. Det er en god praksis at bruge ENV-variabler med en perle som dotenv
, og lad være med at overføre dine adgangskoder, hemmelige nøgler og lignende til dit git-lager.
Der er flere tjenester derude, der tilbyder SSL-certifikater til dit domæne, mange er betalt og et par er gratis. Opsæt SSL uanset hvilken tjeneste du bruger. Let's Encrypt er meget nemt og gratis at bruge. Let's Encrypt er en non-profit organisation støttet af mange teknologigiganter.
Kør følgende kommandoer, og følg vejledningen.
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
Hvis du går til din Vultr-instans nu ved at bruge HTTPS
, vil du se en sikker hjemmeside.
Dit nyligt udstedte certifikat udløber og skal fornys med jævne mellemrum. Den nemmeste måde at gøre dette på er at oprette et cron-job.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
Som et sidste, men valgfrit trin, genstart din VM og sørg for, at alle tjenester genstarter som forventet.
Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed
Introduktion Lets Encrypt er en certifikatmyndighedstjeneste, der tilbyder gratis TLS/SSL-certifikater. Installationsprocessen forenkles af Certbot,
Bruger du et andet system? Denne vejledning viser dig, hvordan du installerer groupware iRedMail på en ny installation af Debian Wheezy. Du bør bruge en serve
Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer
1. Virtualmin/Webmin Virtualmin er et kraftfuldt og fleksibelt webhotel kontrolpanel til Linux og UNIX systemer baseret på den velkendte Open Source web-base
Yii er en PHP-ramme, der giver dig mulighed for at udvikle applikationer hurtigere og nemmere. Installation af Yii på Ubuntu er ligetil, da du vil lære nøjagtigt
Screen er et program, der tillader flere terminalsessioner inden for et vindue. Dette giver dig mulighed for at simulere flere terminalvinduer, hvor det ma
Introduktion Logrotate er et Linux-værktøj, der forenkler administrationen af logfiler. Det kører typisk en gang om dagen via et cron-job og administrerer logbasen
VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere
Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten
I denne artikel vil vi se, hvordan du kompilerer og installerer Nginx mainline fra de officielle kilder til Nginx med PageSpeed-modulet, som giver dig mulighed for at
Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj
Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere
Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere
Bruger du et andet system? Gitea er et alternativt open source, selvhostet versionskontrolsystem drevet af Git. Gitea er skrevet på Golang og er
Bruger du et andet system? Gitea er et alternativt open source, selv-hostet versionskontrolsystem drevet af git. Gitea er skrevet på Golang og er
Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i
Hvad er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheden udnyttes gennem, hvordan Linux behandler kode. Det giver en uprivilegeret bruger mulighed for at gai
Det kan være farligt at have kun én bruger, som er root. Så lad os ordne det. Vultr giver os friheden til at gøre som vi vil med vores brugere og vores servere
Adminer er et letvægtsalternativ til phpMyAdmin. Til sammenligning er dens samlede pakkestørrelse 400KB mod 4,2 MB phpMyAdmin. I modsætning til phpMyAdmin, som
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere