Pokazywanie postów oznaczonych etykietą ubuntu. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą ubuntu. Pokaż wszystkie posty

2016-05-09

Java z automatyczną akceptacją licencji

Instalacja Java pod Ubuntu z automatyczną akceptacją licencji. Taka możliwość może być przydatna przy instalacji składników ze skryptu - np. przy stawianiu systemu w środowisku Docker'a (w Dockerfile).

echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections
sudo apt-get install -y oracle-java8-installer

2015-09-30

Dysk SSD i Linuks Mint/Ubuntu

Kilka rzeczy, które warto ustawić mając system Mint/Ununtu zainstalowany na dysku SSD.

Swap

W pliku /etc/sysctl.conf dodajemy na dole następujące zmienne:

vm.swappiness = 1
vm.vfs_cache_pressure=50

Ja u siebie wyłączyłem swapa całkowicie (mam sporo ramu i mały dysk SSD):

vm.swappiness = 0

Wyłączenie "access time stamp"

W pliku /etc/fstab dla partycji dysku SSD dodajemy parametr noatime:

UUID=fcbaca8f-a6f7-4fa4-981a-8cd979a2e59d /               ext4    noatime,errors=remount-ro 0       1

Włączenie TRIM

Dysk SSD powinien być regularnie czyszczony. Czyszczenia można dokonać wykonując polecenie:

sudo fstrim -v /

Gdzie znak / to partycja dysku SSD. Jeśli mamy więcej dysków/partycji to dla każdego/każdej z nich wykonujemy to polecenie osobno. Dobrym zwyczajem jest wykonywanie tego polecenia podczas startu systemu. Aby tego dokonać należy w pliku /etc/rc.local dodać linie (przed exit 0):

# Run fstrim at boot
LOG=/var/log/trim.log
fstrim -v / >> $LOG
echo "Time: $(date)" >> $LOG

exit 0

Kilka dodatkowych zabiegów

Aby zmniejszyć ilość zapisów na dysku warto również unikać hibernacji oraz defragmentacji dysku SSD. Można również ograniczyć lub wyłączyć cache w przeglądarkach www.

źródło: http://www.leniwiec.org/

2015-06-21

Przeniesienie Redmine (2.0) na inny serwer (Ubuntu 14.04)

Na starej maszynce wykonujemy kopię katalogu, w którym znajduje się Redmine (u mnie to katalog redmine katalogu domowym) oraz zrzut bazy (u mnie bazą jest PostgreSQL). Następnie dane przenosimy na docelowy serwer i jedziemy wg poniższej instrukcji:
sudo apt-get install make
sudo apt-get install postgresql
sudo apt-get install postgresql-server-dev-9.3

# utworzenie w bazie usera redmine
psql -U postgresql template1
create user redmine with password 'twoje_haselko';
alter user redmine with superuser;
# wczytanie kopii bazy
\i backup/redmine/day/redmine-2015.03.21.15.28.sql

# wychodzimy z bazy i instalujemy kolejne rzeczy
sudo apt-get install ruby1.9.3 libmysqlclient-dev
sudo apt-get install libmagickcore-dev libmagickwand-dev
sudo gem install bundler
sudo gem install json -v '1.7.3'
sudo gem install pg -v '0.13.2'
cd redmine/redmine-2.0/
bundle install --without development test

# odpalenie redmine
bundle exec ruby script/rails server webrick -e production

# sprawdzenie czy wszystko smiga wchodzac przez http://ip-serwera:3000
Jeśli wszytko ładnie działa to możemy zabrać się za instalację Apache2 oraz Passengera:
sudo apt-get install apache2
sudo gem install passenger
sudo apt-get install libapache2-mod-passenger
Dodajemy PassengerDefaultUser www-data (tylko tę linię) do pliku /etc/apache2/mods-available/passenger.conf - cały plik powinien wyglądać mniej więcej tak:

  PassengerDefaultUser www-data
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby

Tworzymy plik /etc/apache2/sites-available/redmine i wpisujemy w nim:
[VirtualHost *:80]
    ServerName redmine.lh
    DocumentRoot /home/user/redmine/redmine-2.0/public
    ServerAdmin twoj@mail.pl
    LogLevel warn
    ErrorLog /var/log/apache2/redmine_error
    CustomLog /var/log/apache2/redmine_access combined
    [Directory /home/user/redmine/redmine-2.0/public]
       Options Indexes FollowSymLinks MultiViews
       AllowOverride None
       Order allow,deny
       allow from all
       RailsBaseURI /redmine
       PassengerResolveSymlinksInDocumentRoot on
    [/Directory]
[/VirtualHost]
Zamień znaki [] na <>.

sudo ln -s /etc/apache2/sites-available/redmine /etc/apache2/sites-enabled/redmine
sudo a2enmod passenger
sudo service apache2 restart

2015-05-10

Utworzenie lokalnej domeny przy użyciu Apache2 i Virtual Hosts

Aby utworzyć lokalną domenę (np. http://test.lh), która zastąpiłaby adres http://localhost/test/ wystarczy kilka prostych ruchów:
  • Tworzymy katalog test w katalogu /var/www/html/
  • Tworzymy plik index.html w katalogu test
  • Dajemy uprawnienia 0775 dla katalogu test
  • W pliku index.html wpisujemy hello world!
  • Tworzymy plik test_lh.conf w katalogu /etc/apache2/sites-available/
  • W pliku test_lh.conf wpisujemy:
    
      ServerAdmin marcin.zaremba@gmail.com
      ServerName test.lh
      ServerAlias *.test.lh
      DocumentRoot /var/www/html/test
      ErrorLog /var/log/apache2/test_error.log
      CustomLog /var/log/apache2/test_access.log combined
      
        # enable the .htaccess rewrites
        AllowOverride All
        Allow from All
        Require all granted
      
    
    
    Uwaga! Zamiast id="/var/www/html/test" piszemy po prostu /var/www/html/test.
  • W katalogu /etc/apache2/sites-enabled/ tworzymy link symboliczny do /etc/apache2/sites-available/test_lh.conf
    ln -s /etc/apache2/sites-available/test_lh.conf /etc/apache2/sites-enabled/test_lh.conf
  • W pliku /etc/hosts dodajemy linijkę 127.0.0.1 test.lh
  • Uruchamiamy przeglądarkę, wpisujemy w pasek adresy test.lh i cieszymy się z napisu hello world!

Skrypt do tworzenia lokalnej domeny


Na githubie umieściłem skrypt, który wykonuje wszystkie opisane ruchy w sposób automatyczny. Wystarczy wpisać w konsoli:
sudo ./addLocalHost.sh test
a wszystkie wyżej opisane kroki wykonają się za nas i będziemy mogli cieszyć się nową lokalną domeną test.lh.

Poniżej przedstawiam kod, który wykonuje to zadanie:

2013-07-26

Instalacja statystyk Awstats pod Ubuntu

Instalacja i konfiguracja statystyk z Apache'a na przykładzie strony twoja_domena.pl

Instalacja:
sudo apt-get install awstats
opcjonalnie również:
apt-get install libnet-ip-perl
apt-get install libgeo-ipfree-perl

Utworzenie pliku konfiguracyjnego:
sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.twoja_domena.pl.conf

Edycja pliku konfiguracyjnego:
# apache2
LogFile="/var/log/apache2/access.twoja_domena.log"

# domain name
SiteDomain="twoja_domena.pl"
HostAliases="localhost 127.0.0.1 twoja_domena.pl"

LogFormat=1
opcjonalnie można aktywować pluginy:
LoadPlugin="tooltips"
LoadPlugin="geoipfree"

Odpalamy pierwszy raz statystyki:
sudo /usr/lib/cgi-bin/awstats.pl -config=twoja_domena.pl -update

Po jakimś czasie (może nawet kilku minutach) powinno się pojawić coś w tym stylu:
Create/Update database for config "/etc/awstats/awstats.twoja_domena.pl.conf" by AWStats version 7.0 (build 1.971)
From data in log file "/var/log/apache2/access.twoja_domena.log"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 2075
 Found 0 dropped records,
 Found 0 comments,
 Found 0 blank records,
 Found 54 corrupted records,
 Found 0 old records,
 Found 2021 new qualified records.

W katalogu /etc/apache2/sites-available/ w którym znajduje się konfiguracja apache'a danej strony (u mnie jest to /etc/apache2/sites-available/twoja_domena_pl) należy dodać:
Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstatsicons/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Na koniec robimy restart Apache'a:
/etc/init.d/apache2 restart

oraz dodajemy generowanie statystyk do Crontaba:
0 */3 * * * /usr/lib/cgi-bin/awstats.pl -config=twoja_domena.pl -update > /dev/null

Jeśli chcemy zrestartować awstatsa:
sudo su - root
cd /var/lib/awstats
rm *
logout

źródło:
- http://jeromejaglale.com/doc/ubuntu/awstats
- https://help.ubuntu.com/community/AWStats

2013-05-14

[psql] Usunięcie postgresql i apache z autostartu

W przypadku Debiana / Ubuntu / Minta wystarczy użyć polecenia update-rc.d:

PostgreSQL:

sudo update-rc.d -f postgresql remove 
 Removing any system startup links for /etc/init.d/postgresql ...
   /etc/rc0.d/K21postgresql
   /etc/rc1.d/K21postgresql
   /etc/rc2.d/S19postgresql
   /etc/rc3.d/S19postgresql
   /etc/rc4.d/S19postgresql
   /etc/rc5.d/S19postgresql
   /etc/rc6.d/K21postgresql

Apache:

sudo update-rc.d -f apache2 remove
 Removing any system startup links for /etc/init.d/apache2 ...
   /etc/rc0.d/K09apache2
   /etc/rc1.d/K09apache2
   /etc/rc2.d/S91apache2
   /etc/rc3.d/S91apache2
   /etc/rc4.d/S91apache2
   /etc/rc5.d/S91apache2
   /etc/rc6.d/K09apache2

W przypadku potrzeby skorzystania z PostgreSql'a czy Apache'a wystarczy odpalić go ręcznie z konsoli:
sudo /etc/init.d/postgresql start
sudo /etc/init.d/apache2 start

2011-11-26

[linux] Boot z Grub'a

Miałem dziś małą zabawę z instalacją Ubuntu na laptopie Toshiby. To archaiczny sprzęt, na którym instalacja systemu to prawdziwa męka. Po wielu próbach udało mi się zainstalować na nim Ubuntu - jednak zainstalowałem system na dysku zewnętrznym przez USB a później włożyłem dysk do czeluści tego laptopa. :-) Oczywiście system nie wstał ale odpalił się Grub, w którym wystarczyło wpisać:
root (hd0,1)
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
boot
Po tym zabiegu wszystko pięknie śmiga... :-)

2011-03-25

Własne aliasy w bash'u

Linux Mint jak każda dystrybucja GNU/Linux'owa umożliwia tworzenie aliasów. To fantastyczny wynalazek dzięki któremu można w prosty sposób stworzyć sobie skróty długich, często używanych komend terminalowych. Na przykład zamiast wpisywania czegoś takiego:

ssh -p 666 m4rc1no5@host
można dzięki aliasom zdefiniować sobie skrót w stylu:

goto_host

Co należy zrobić żeby stworzyć sobie taki skrót?

Po pierwsze .bashrc


Dodajemy w .bashrc kod:

#wczytanie aliasow
if [ -f ~/.bash_aliases ]; then
source ~/.bash_aliases
fi
Plik .bashrc powinien znajdować się w katalogu domowym. Jesli tam go nie ma to trzeba go utworzyć i wpisać tam kod znajdujący się wyżej.

Po drugie .bash_aliases


W katalogu domowym tworzymy plik .bash_aliases i umieszczamy w nim własne aliasy - na przykład:

alias goto_host='ssh -p 666 m4rc1no5@host'

Po tych fantastycznych i banalnych dwóch krokach otwieramy nowy terminal, wpisujemy

goto_host
i cieszymy się z dobrodziejstw jakie dają nam aliasy. :-)