Installer Plesk på CentOS 7
Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser
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 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.
Denne vejledning er skrevet til Redmine 3.4.4, men kan også gælde for nyere versioner.
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 CentOS 7 . 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 yum -y install httpd httpd-devel libcurl-devel
For at bygge Redmine-applikationen har vi også brug for nogle udviklingsværktøjer. Installer de nødvendige værktøjer.
sudo yum -y install ImageMagick ImageMagick-devel git libxml2-devel libxslt-devel gcc bzip2 openssl-devel zlib-devel gdbm-devel ncurses-devel autoconf automake bison gcc-c++ libffi-devel libtool patch readline-devel sqlite-devel glibc-headers glibc-devel libyaml-devel libicu-devel libidn-devel
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. Standardlageret yum
indeholder en gammel version af PostgreSQL, så tilføj PostgreSQL-lageret til systemet.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Installer PostgreSQL-databaseserveren.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Initialiser databasen.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Start PostgreSQL-serveren og aktiver den til at starte automatisk ved opstart.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
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
Rediger pg_hba.conf
filen for at aktivere MD5-baseret godkendelse.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Find følgende linjer og ændre værdierne peer
og ident
i METHOD
kolonnen til trust
og md5
hhv.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Når den er opdateret, skal konfigurationen se sådan ud.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Genstart PostgreSQL, så ændringerne kan træde i kraft.
sudo systemctl restart postgresql-10
Installer nogle flere påkrævede PostgreSQL-afhængigheder.
sudo yum -y install libpqxx-devel protobuf-devel
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 redmine
sudo su - redmine
Vi installerer den seneste version af Ruby ved hjælp af Ruby Version Manager eller RVM. Det bruges til at installere og administrere flere versioner af Ruby.
Tilføj GPG-nøglen til RVM til din server.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Installer RVM.
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
Hent listen over de tilgængelige versioner af Ruby.
rvm list known
Du vil se en lang liste over Ruby-versioner.
[redmine@vultr ~]$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]
ruby-head
...
Installer den seneste version af Ruby fra listen.
rvm install 2.4
Brug den installerede version af Ruby.
rvm use 2.4
Du kan bekræfte dens version.
ruby -v
Du vil se et lignende output.
[redmine@vultr ~]$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Installer bundler, som er afhængighedsmanageren 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
Giv udførelsestilladelse til brugerens hjemmebibliotek redmine
. Passageren skal udføre binære filer for at kunne betjene applikationen.
chmod o+x "/home/redmine"
Installer Apache-modulet til passagerer.
passenger-install-apache2-module
The installer script will ask you some questions. First, it will provide you information about the installation process. Then it will ask you to select the language which you will be using. Since our application is written in Ruby on Rails, select Ruby from the menu and press "Enter
" to proceed further.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬡ Python
⬡ Node.js
⬡ Meteor
The installer will now check for requirements. The installer will not encounter any missing dependencies and will automatically proceed to compile and install the module.
Once the module is installed, it will prompt you to add the module into the Apache configuration file.
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerDefaultRuby /home/redmine/.rvm/gems/ruby-2.4.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.
We will skip this for now and will complete it later in the tutorial as the user with which we are logged in now does not have sudo
permissions. Press "Enter
" to skip this step.
Finally, the installer script will validate the installation and you will see a warning saying the Passenger module is not specified in Apache configuration.
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/httpd/conf/httpd.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
Now that we have installed the Passenger module for Apache, proceed to download and install Redmine.
Download the latest version of Redmine from the official Redmine download page.
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Extract the archive and rename the directory for 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/pgsql-10/bin/pg_config
Install the application dependencies required by the application.
bundle install --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.
Use `bundle info [gemname]` to see where a bundled gem is installed.
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.
Installationen af Redmine-applikationen er nu færdig. Skift ejerskab og tilladelser til mapperne og filerne.
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
Vi har konfigureret alt, hvad vi har brug for fra den ikke-privilegerede bruger. Skift tilbage til sudo
brugeren ved at køre su - <username>
.
Tilføj Passenger-modulet til Apache til Apache-konfigurationsfilen. Dette vil automatisk indlæse passagermodulet.
echo "LoadModule passenger_module /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/httpd/conf.modules.d/00-base.conf
Opret en ny virtuel værtsfil til din Redmine-applikation.
sudo nano /etc/httpd/conf.d/redmine.conf
Udfyld filen med følgende indhold.
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.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 PassengerRuby
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.
sudo su redmine -c "passenger-config about ruby-command"
Du får følgende output.
[user@vultr ~]$ sudo su redmine -c "passenger-config about ruby-command"
passenger-config was invoked through the following Ruby interpreter:
Command: /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
Version: ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
To use in Apache: PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
To use in Nginx : passenger_ruby /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby
To use with Standalone: /home/redmine/.rvm/gems/ruby-2.4.1/wrappers/ruby /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12/bin/passenger start
Når den virtuelle værtsfil er oprettet, skal du genstarte Apache-webserveren.
sudo systemctl restart httpd
Rediger firewall-konfigurationen for at tillade port 80
gennem firewallen.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
Du kan nu få adgang til din Redmine-grænseflade på http://redmine.example.com
. Log ind med brugernavn admin
og adgangskode 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.
Installer Certbot, som er klientapplikationen til Let's Encrypt CA.
sudo yum -y install epel-release
sudo yum -y install certbot mod_ssl
Før du kan anmode om certifikaterne, skal du tillade port 80
og/ 443
eller standard HTTP
og HTTPS
tjenester gennem firewallen. Da vi allerede har tilladt port 80
tidligere, lad os tillade port 443
.
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
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.
Rediger den virtuelle værtsfil, vi oprettede tidligere til Redmine.
sudo nano /etc/httpd/conf.d/redmine.conf
Rediger den virtuelle værtsfil, så den ser ud som følgende.
<VirtualHost *:80>
Redirect permanent / https://www.example.com/
ServerName 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 /home/redmine/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.12
PassengerRuby /home/redmine/.rvm/gems/ruby-2.4.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 httpd
Du kan nu få adgang til Redmine over HTTPS
på https://redmine.example.com
.
Tillykke, du har med succes installeret Redmine på din CentOS 7-instans. Begynd at udvikle dit projekt enten ved at oprette eller importere dit projekt.
Bruger du et andet system? Plesk er et proprietært webhost kontrolpanel, der giver brugerne mulighed for at administrere deres personlige og/eller klienters websteder, databaser
Squid er et populært, gratis Linux-program, der giver dig mulighed for at oprette en webproxy til videresendelse. I denne vejledning vil du se, hvordan du installerer Squid på CentOS for at gøre dig
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
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
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? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig
Bruger du et andet system? Mattermost er et open source, selvhostet alternativ til Slack SAAS-meddelelsestjenesten. Med andre ord, med Mattermost er du ca
Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først
Plesk-kontrolpanelet har en meget flot integration til Lets Encrypt. Lets Encrypt er en af de eneste SSL-udbydere, der udleverer certifikater komplet
Lets Encrypt er en certifikatmyndighed dedikeret til at levere SSL-certifikater gratis. cPanel har bygget en pæn integration, så du og din klient
Bruger du et andet system? Concrete5 er et open source CMS, som tilbyder mange karakteristiske og nyttige funktioner til at hjælpe redaktører med at producere indhold nemt og
Bruger du et andet system? Review Board er et gratis og open source-værktøj til gennemgang af kildekode, dokumentation, billeder og mange flere. Det er webbaseret software
I denne vejledning lærer du, hvordan du opsætter HTTP-godkendelse for en Nginx-webserver, der kører på CentOS 7. Krav For at komme i gang skal du bruge
YOURLS (Your Own URL Shortener) er en open source URL-forkortelse og dataanalyseapplikation. I denne artikel vil vi dække installationsprocessen
Bruger du et andet system? Introduktion ArangoDB er en open source NoSQL-database med en fleksibel datamodel for dokumenter, grafer og nøgleværdier. det er
Introduktion /etc/-biblioteket spiller en afgørende rolle i den måde et Linux-system fungerer på. Årsagen til dette er, at næsten alle systemkonfigurationer
Mange systemadministratorer administrerer store mængder servere. Når filer skal tilgås på tværs af forskellige servere, logges ind på hver enkelt individuelt ca
Denne vejledning vil dække processen med at installere en Half Life 2-spilserver på CentOS 6 System. Trin 1: Installation af forudsætninger For at opsætte ou
Laravel GitScrum eller GitScrum er et open source-produktivitetsværktøj designet til at hjælpe udviklingsteams med at implementere Scrum-metoden på en måde, der ligner t.
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