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
Redmine er et gratis og open source, webbaseret projektstyringsværktøj. Den er skrevet i Ruby on Rails og understøtter flere databaseservere til lagring af databasen. Det er en funktionsrig applikation, der understøtter flere projekter, rollebaseret ACL og et problemsporingssystem. Det har også Gantt-diagram- og kalenderunderstøttelse, filhåndtering, pr. projekt-wiki og -forum samt mange andre funktioner. Det understøtter versionskontrolsystemer såsom Git, SVN eller CVS. Det er også flersproget og understøtter op til 49 sprog.
Til denne vejledning vil vi bruge 192.168.1.1
som den offentlige IP-adresse og redmine.example.com
som domænenavnet, der pegede mod Vultr-forekomsten. Sørg for at erstatte alle forekomster af eksempeldomænenavnet og IP-adressen med det faktiske.
Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du Ubuntu 16.04 . Når dit system er blevet opdateret, skal du fortsætte med at installere afhængighederne.
Redmine er skrevet i Ruby on Rails, så vi vil kræve, at Phusion Passenger integrerer med Apache-webserveren for at betjene applikationen.
Installer Apache.
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
For at bygge Ruby and Passenger har vi også brug for nogle udviklingsværktøjer. Installer de nødvendige værktøjer.
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmine understøtter flere typer databaseservere såsom MySQL, PostgreSQL og MSSQL. I denne vejledning vil vi bruge PostgreSQL til at være vært for Redmine-databaseserveren.
PostgreSQL er et objektrelationelt databasesystem. Standard Ubuntu-depotet indeholder en gammel version af PostgreSQL, så tilføj PostgreSQL-depotet til systemet.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Installer PostgreSQL-databaseserveren.
sudo apt -y install postgresql
Start PostgreSQL-serveren og aktiver den til at starte automatisk ved opstart.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Skift adgangskoden til standard PostgreSQL-brugeren.
sudo passwd postgres
Log ind som PostgreSQL-bruger.
sudo su - postgres
Opret en ny PostgreSQL-bruger til Redmine.
createuser redmine
Du har lov til at bruge et hvilket som helst brugernavn i stedet for redmine
. PostgreSQL leverer psql
skallen til at køre forespørgsler på databasen. Skift til PostgreSQL-skallen.
psql
Indstil en adgangskode til den nyoprettede bruger til Redmine-databasen.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
Erstat DBPassword
med en sikker adgangskode. Opret en ny database til Redmine-installationen.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Udgang fra psql
skallen.
\q
Skift til sudo
brugeren.
exit
Installer nogle flere påkrævede PostgreSQL-afhængigheder.
sudo apt -y install libpqxx-dev protobuf-compiler
Vi installerer den seneste version af Ruby ved hjælp af RVM. Det bruges til at installere og administrere flere versioner af Ruby.
Tilføj RVM-lageret.
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
Installer RVM.
sudo apt -y install rvm
Da vi skal installere Ruby hele systemet, skifter vi midlertidigt til root-brugeren.
sudo -i
Opdater miljøvariablerne.
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
Installer den seneste version af Ruby.
rvm install 2.5.1
Bemærk: Hvis du bruger en anden version af Ruby, skal du sørge for at opdatere Ruby-stien i overensstemmelse hermed.
Brug den installerede version af Ruby.
rvm use 2.5.1 --default
Du kan bekræfte dens version.
ruby -v
Du vil se et lignende output.
root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
Installer bundler
, som er afhængighedshåndteringen for Ruby-applikationen.
gem install bundler
Ruby er nu installeret. Før vi installerer Redmine, skal vi installere Phusion Passenger.
Kør følgende kommando for at installere Passenger.
gem install passenger
Installer Apache-modulet til passagerer.
passenger-install-apache2-module
Installationsscriptet vil stille dig nogle spørgsmål. Først vil det give dig information om installationsprocessen. Derefter vil den bede dig om at vælge det sprog, du vil bruge. Da vores applikation er skrevet i Ruby on Rails, skal du vælge Ruby i menuen og trykke på for ENTERat fortsætte.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
Installationsprogrammet vil nu tjekke efter krav. Installationsprogrammet vil ikke støde på manglende afhængigheder og vil automatisk fortsætte med at kompilere og installere modulet.
Når modulet er installeret, vil det bede dig om at tilføje modulet til Apache-konfigurationsfilen.
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
</IfModule>
After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!
Press ENTER when you are done editing.
Vi springer dette over for nu og vil fuldføre det senere i selvstudiet. Tryk på for ENTERat springe dette trin over.
Til sidst vil installationsscriptet validere installationen, og du vil se en advarsel om, at Passenger-modulet ikke er specificeret i Apache-konfigurationen.
Validating installation...
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/apache2/apache2.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
Nu hvor vi har installeret Passenger-modulet til Apache, fortsæt med at downloade og installere Redmine. Skift til sudo
brugeren igen, da vi ikke behøver at køre flere kommandoer med root
bruger.
exit
Det anbefales at bruge en uprivilegeret bruger til at køre programmet for at holde det isoleret fra resten af systemet. Opret en ny bruger til Redmine og skift til den nyoprettede bruger.
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine
Download den seneste version af Redmine fra den officielle Redmine-downloadside .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Extract the archive and rename the directory for the sake of convenience.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
Copy the example configuration files to its production location.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Open the database configuration file we just copied to enter the database details.
nano config/database.yml
By default, the database file is configured for MySQL. Find the configurations for production and development, and test which uses the MySQL adapter. Comment out all of these lines.
#production:
# adapter: mysql2
# database: redmine
# host: localhost
# username: root
# password: ""
# encoding: utf8
#development:
# adapter: mysql2
# database: redmine_development
# host: localhost
# username: root
# password: ""
# encoding: utf8
#test:
# adapter: mysql2
# database: redmine_test
# host: localhost
# username: root
# password: ""
# encoding: utf8
Furthur, find the lines which are commented, having production
configuration for the postgresql
adapter. Uncomment those lines and update the database name and user credentials. Make sure to use the correct indentation, which is two spaces.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
Configure the application to use the PostgreSQL configuration.
bundle config build.pg --with-pg-config=/usr/bin/pg_config
Install the dependencies required by the application.
bundle install --path vendor/bundle --without development test
You will see the following message at the end of the installation.
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
The following command generates secret tokens that are used to encode the session data.
bundle exec rake generate_secret_token
Write the PostgreSQL database.
RAILS_ENV=production bundle exec rake db:migrate
Run the following command, which writes the default data into PostgreSQL database.
RAILS_ENV=production bundle exec rake redmine:load_default_data
The above command will ask you to choose the default language to be used with the application. The default choice is English; choose according to your preference.
[redmine@vultr redmine]$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]
====================================
Default configuration data loaded.
Installation of the Redmine application is now finished. Change ownership and permissions of the directories and files.
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
We have configured everything we need from the non-privileged user. Switch back to the sudo
user by running su - <username>
.
Add the Passenger module for Apache into the Apache configuration file. This will automatically load the Passenger module.
echo "LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/apache2/apache2.conf
Bemærk: Stien til Passenger-modulet kan ændre sig, når der er en ny udgivelse af Passenger. Brug sudo find / -name mod_passenger.so
kommandoen for at finde stien til modulet .
Opret en ny virtuel værtsfil til din Redmine-applikation.
sudo nano /etc/apache2/sites-available/redmine.conf
Udfyld filen med følgende indhold.
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
<Directory /home/redmine/redmine/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
Sørg for at erstatte redmine.example.com
med dit faktiske domænenavn. Sørg også for, at stien til PassengerRoot
og PassengerDefaultRuby
er korrekt. Stien til de binære filer kan ændre sig, når der er en ny udgivelse af Ruby eller Passenger. For at finde disse stier skal du køre følgende kommando.
passenger-config about ruby-command
Du får følgende output.
user@vultr:~$ passenger-config about ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
Version: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
To use in Apache: PassengerRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use in Nginx : passenger_ruby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use with Standalone: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/bin/passenger start
## Notes for RVM users
Do you want to know which command to use for a different Ruby interpreter? 'rvm use' that Ruby interpreter, then re-run 'passenger-config about ruby-command'.
Når den virtuelle værtsfil er oprettet. Aktiver konfigurationen.
sudo a2ensite redmine
Genstart Apache-webserveren.
sudo systemctl restart apache2
Du kan nu få adgang til din Redmine-grænseflade på http://redmine.example.com
. Log på med brugernavnet admin
og adgangskoden admin
. Ved dit første login vil Redmine bede dig om at opdatere adgangskoden.
Da vores Redmine-installation er på en offentlig server, anbefales det at bruge SSL til at sikre udvekslingen af data fra serveren.
Tilføj Certbot-depotet.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Installer Certbot, som er klientapplikationen til Let's Encrypt CA.
sudo apt -y install certbot
Bemærk: For at få certifikater fra Let's Encrypt CA, skal det domæne, som certifikaterne skal genereres for, pege mod serveren. Hvis ikke, skal du foretage de nødvendige ændringer i domænets DNS-poster og vente på, at DNS'en udbreder sig, før du foretager certifikatanmodningen igen. Certbot kontrollerer domæneautoriteten, før certifikaterne leveres.
Generer SSL-certifikaterne.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
De genererede certifikater vil sandsynligvis blive gemt i /etc/letsencrypt/live/redmine.example.com/
. SSL-certifikatet vil blive gemt som cert.pem
og privat nøgle vil blive gemt som privkey.pem
.
Lad os kryptere certifikater udløber om 90 dage, derfor anbefales det at konfigurere automatisk fornyelse af certifikaterne ved hjælp af Cron-job.
Åbn Cron-jobfilen for root
brugeren.
sudo crontab -e
Tilføj følgende linje i slutningen af filen.
30 5 * * * /usr/bin/certbot renew --quiet
Ovenstående Cron-job kører hver dag kl. 05.30. Hvis certifikatet udløber, vil det automatisk blive fornyet.
Aktiver SSL-modulet til Apache.
sudo a2enmod ssl
Rediger den virtuelle værtsfil, vi oprettede tidligere til Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Rediger den virtuelle værtsfil, så den ligner følgende.
<VirtualHost *:80>
ServerName redmine.example.com
Redirect permanent / https://redmine.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName redmine.example.com
DocumentRoot "/home/redmine/redmine/public"
<Directory "/home/redmine/redmine/public">
Options None
Require all granted
</Directory>
PassengerAppEnv production
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
PassengerHighPerformance on
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/redmine.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/redmine.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/redmine.example.com/chain.pem
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<IfModule headers_module>
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
</IfModule>
</VirtualHost>
Gem filen og afslut editoren.
Genstart Apache, så ændringerne kan træde i kraft.
sudo systemctl restart apache2
Du kan nu få adgang til Redmine HTTPS
på https://redmine.example.com
.
Tillykke, du har med succes installeret Redmine på din Ubuntu 16.04-instans. Begynd at udvikle dit projekt enten ved at oprette eller importere dit projekt.
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