Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10
Bruker du et annet system? Hva er Tekkit Classic? Tekkit Classic er en modpack for spillet alle kjenner og elsker; Minecraft. Den inneholder noe av ver
Redmine er et gratis og åpen kildekode, nettbasert prosjektstyringsverktøy. Den er skrevet i Ruby on Rails og støtter flere databaseservere for lagring av databasen. Det er en funksjonsrik applikasjon som støtter flere prosjekter, rollebasert ACL og et problemsporingssystem. Den har også støtte for Gantt-diagram og kalender, filbehandling, per prosjekt wiki og forum, samt mange andre funksjoner. Den støtter versjonskontrollsystemer som Git, SVN eller CVS. Den er også flerspråklig, og støtter så mange som 49 språk.
For denne opplæringen vil vi bruke 192.168.1.1
som den offentlige IP-adressen og redmine.example.com
som domenenavnet som pekte mot Vultr-forekomsten. Sørg for å erstatte alle forekomster av eksempeldomenenavnet og IP-adressen med den faktiske.
Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere Ubuntu 16.04 . Når systemet ditt har blitt oppdatert, fortsett å installere avhengighetene.
Redmine er skrevet i Ruby on Rails, så vi vil kreve at Phusion Passenger integreres med Apache-nettserveren for å betjene applikasjonen.
Installer Apache.
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
For å bygge Ruby and Passenger trenger vi også noen utviklingsverktøy. Installer de nødvendige verktøyene.
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmine støtter flere typer databaseservere som MySQL, PostgreSQL og MSSQL. I denne opplæringen vil vi bruke PostgreSQL til å være vert for Redmine-databaseserveren.
PostgreSQL er et objektrelasjonelt databasesystem. Standard Ubuntu-depotet inneholder en gammel versjon av PostgreSQL, så legg til 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 la den starte automatisk ved oppstart.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Endre passordet for standard PostgreSQL-bruker.
sudo passwd postgres
Logg på som PostgreSQL-bruker.
sudo su - postgres
Opprett en ny PostgreSQL-bruker for Redmine.
createuser redmine
Du har lov til å bruke hvilket som helst brukernavn i stedet for redmine
. PostgreSQL gir psql
skallet for å kjøre spørringer på databasen. Bytt til PostgreSQL-skallet.
psql
Angi et passord for den nyopprettede brukeren for Redmine-databasen.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
Erstatt DBPassword
med et sikkert passord. Opprett en ny database for Redmine-installasjonen.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Gå ut av psql
skallet.
\q
Bytt til sudo
brukeren.
exit
Installer noen flere nødvendige PostgreSQL-avhengigheter.
sudo apt -y install libpqxx-dev protobuf-compiler
Vi vil installere den nyeste versjonen av Ruby ved å bruke RVM. Den brukes til å installere og administrere flere versjoner av Ruby.
Legg til RVM-depotet.
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
Installer RVM.
sudo apt -y install rvm
Ettersom vi må installere Ruby hele systemet, vil vi bytte til root-brukeren midlertidig.
sudo -i
Oppdater miljøvariablene.
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
Installer den nyeste versjonen av Ruby.
rvm install 2.5.1
Merk: Hvis du bruker en annen versjon av Ruby, sørg for å oppdatere Ruby-banen tilsvarende.
Bruk den installerte versjonen av Ruby.
rvm use 2.5.1 --default
Du kan bekrefte versjonen.
ruby -v
Du vil se en lignende utgang.
root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
Installer bundler
, som er avhengighetsbehandlingen for Ruby-applikasjonen.
gem install bundler
Ruby er nå installert. Før vi installerer Redmine, må vi installere Phusion Passenger.
Kjør følgende kommando for å installere Passenger.
gem install passenger
Installer Apache-modulen for Passenger.
passenger-install-apache2-module
Installasjonsskriptet vil stille deg noen spørsmål. Først vil den gi deg informasjon om installasjonsprosessen. Deretter vil den be deg velge språket du vil bruke. Siden vår applikasjon er skrevet i Ruby on Rails, velg Ruby fra menyen og trykk for ENTERå fortsette videre.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
Installasjonsprogrammet vil nå se etter krav. Installasjonsprogrammet vil ikke støte på manglende avhengigheter og vil automatisk fortsette å kompilere og installere modulen.
Når modulen er installert, vil den be deg legge til modulen i Apache-konfigurasjonsfilen.
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.
We will skip this for now and will complete it later in the tutorial. 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/apache2/apache2.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. Switch to the sudo
user again since we do not need to run any more commands using root
user.
exit
It is recommended to use an unprivileged user to run the application to keep it isolated from rest of the system. Create a new user for Redmine and switch to the newly created user.
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - 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 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
Merk: Banen til Passenger-modulen kan endres når det kommer en ny utgivelse av Passenger. For å finne banen til modulen, bruk sudo find / -name mod_passenger.so
kommandoen.
Opprett en ny virtuell vertsfil for Redmine-applikasjonen din.
sudo nano /etc/apache2/sites-available/redmine.conf
Fyll filen med følgende innhold.
<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 å erstatte redmine.example.com
med ditt faktiske domenenavn. Sørg også for at banen til PassengerRoot
og PassengerDefaultRuby
er riktig. Banen til binærfilene kan endres når det er en ny utgivelse av Ruby eller Passenger. For å finne disse banene, kjør følgende kommando.
passenger-config about ruby-command
Du vil få følgende utgang.
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 vertsfilen er opprettet. Aktiver konfigurasjonen.
sudo a2ensite redmine
Start Apache-nettserveren på nytt.
sudo systemctl restart apache2
Du kan nå få tilgang til Redmine-grensesnittet på http://redmine.example.com
. Logg på med brukernavnet admin
og passordet admin
. Ved din første pålogging vil Redmine be deg om å oppdatere passordet.
Siden vår Redmine-installasjon er på en offentlig server, anbefales det å bruke SSL for å sikre utvekslingen av dataene fra serveren.
Legg til Certbot-depotet.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Installer Certbot, som er klientapplikasjonen for Let's Encrypt CA.
sudo apt -y install certbot
Merk: For å få sertifikater fra Let's Encrypt CA, må domenet som sertifikatene skal genereres for peke mot serveren. Hvis ikke, gjør de nødvendige endringene i DNS-postene til domenet og vent til DNS-en forplanter seg før du foretar sertifikatforespørselen igjen. Certbot sjekker domeneautoriteten før sertifikatene leveres.
Generer SSL-sertifikatene.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
De genererte sertifikatene blir sannsynligvis lagret i /etc/letsencrypt/live/redmine.example.com/
. SSL-sertifikatet vil bli lagret som cert.pem
og privat nøkkel vil bli lagret som privkey.pem
.
La oss kryptere sertifikater utløper om 90 dager, derfor anbefales det å sette opp automatisk fornyelse av sertifikatene ved å bruke Cron-jobber.
Åpne Cron-jobbfilen for root
brukeren.
sudo crontab -e
Legg til følgende linje på slutten av filen.
30 5 * * * /usr/bin/certbot renew --quiet
Cron-jobben ovenfor vil kjøre hver dag klokken 05.30. Hvis sertifikatet skal utløpe, vil det automatisk fornyes.
Aktiver SSL-modulen for Apache.
sudo a2enmod ssl
Rediger den virtuelle vertsfilen vi opprettet tidligere for Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Endre den virtuelle vertsfilen slik at den ligner på 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>
Lagre filen og gå ut av redigeringsprogrammet.
Start Apache på nytt slik at endringene kan tre i kraft.
sudo systemctl restart apache2
Du kan nå få tilgang til Redmine over HTTPS
på https://redmine.example.com
.
Gratulerer, du har installert Redmine på Ubuntu 16.04-forekomsten. Begynn å utvikle prosjektet ditt enten ved å opprette eller importere prosjektet.
Bruker du et annet system? Hva er Tekkit Classic? Tekkit Classic er en modpack for spillet alle kjenner og elsker; Minecraft. Den inneholder noe av ver
Bruker du et annet system? Jekyll er et flott alternativ til WordPress for blogging eller deling av innhold. Det krever ingen databaser, og det er veldig enkelt, jeg
PHP og relaterte pakker er de mest brukte komponentene når du distribuerer en webserver. I denne artikkelen vil vi lære hvordan du setter opp PHP 7.0 eller PHP 7.1 o
Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om
Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer
Yii er et PHP-rammeverk som lar deg utvikle applikasjoner raskere og enklere. Det er enkelt å installere Yii på Ubuntu, som du vil lære nøyaktig
Denne opplæringen forklarer hvordan du setter opp en DNS-server ved å bruke Bind9 på Debian eller Ubuntu. Bytt ut ditt-domenenavn.com gjennom hele artikkelen. På th
VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere
Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten
Bruker du et annet system? Red5 er en åpen kildekode medieserver implementert i Java som lar deg kjøre Flash flerbrukerapplikasjoner som live streamin
I denne artikkelen vil vi se hvordan du kompilerer og installerer Nginx mainline fra de offisielle kildene til Nginx med PageSpeed-modulen, som lar deg t
Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy
Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy
Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern
Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere
Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere
Bruker du et annet system? Gitea er et alternativt åpen kildekode, selvdrevet versjonskontrollsystem drevet av Git. Gitea er skrevet på Golang og er
Bruker du et annet system? Gitea er et alternativt, selvdrevet versjonskontrollsystem med åpen kildekode drevet av git. Gitea er skrevet på Golang og er
Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i
Bruker du et annet system? MODX Revolution er et raskt, fleksibelt, skalerbart, gratis og åpen kildekode, enterprise-grade Content Management System (CMS) skrevet i
Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.
Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.
Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.
Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.
Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...
Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.
Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.
Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.
I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.
Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer