Skocz do zawartości

Konfiguracja VPS pod Publikera i OmniADD


kazek76

Rekomendowane odpowiedzi

Jest to poradnik krok po kroku, jak przygotować własny serwer VPS pod oprogramowanie Publiker i Omniadd. Ma to swoje spore plusy, gdyż nikt już nam nie wytknie zbytniego obciążenia serwera, ja już tak działam od dłuższego czasu i do tej pory nic złego mnie nie spotkało. Ten poradnik dotyczy tylko podstawowego skonfigurowania serwera i dodatkowo należy sobie postawić jakiegoś prostego firewalla, a poradników jest bardzo dużo w sieci, więc nie będę tego obmawiał.

Także jestem laikiem, więc ten poradnik kieruję do takich jak ja, bardzo chętnie od innych wysłucham poprawek, ulepszeń – nie jest to moja dziedzina, więc proszę darować sobie kąśliwe uwagi !!!

Mój serwer na działanie potrzebuje ok 300MB RAM więc trzeba się zastanowić nad bezpieczną wartością i wziąć na zapas 512MB

Dla mnie najłatwiej było skorzystanie z debiana 5 (instalowałem wersję minimal) i także taki polecam, niewiem czy na wszystkich hostingach tak jest, ale na tych co ja używałem, można było samodzielnie wybrać system do instalacji, co robi się z poziomu panelu na wybranym hostingu. Po zainstalowaniu należy najpierw się zalogować poprzez SSH, polecam do tego programik Putty (https://www.download.net.pl/1272/PuTTY/) uruchamiamy i wpisujemy adres IP naszego serwera i się łączymy na porcie 22 (potem polecam go zmienić na jakiś wymyślony)

Połączy nas z serwerem wpisujemy login: root (enter) i nasze hasło – wyświetli się komunikat i powinniśmy być zalogowani ;)

Dodam od razu, że warto zamiast logowania się na root, utworzyć nowego użytkownika i nadając mu odpowiednie prawa, wykonywać wszystko z poleceniem sudo, a roota wyłączyć – nie będę omawiał, bo wystarczy zajrzeć do Google i nie chodzi tu o naukę, ale o przygotowanie serwera.

Pierwsze polecenie które wykonamy to aktualizacja pakietów:

 apt-get update

Teraz instalujemy apache, mysql i php:

apt-get install apache2 php5 php-pear mysql-server-5.0 php5-mysql

Po drodze w instalacji zapyta jeszcze o hasło roota w mysql, które sobie wymyślimy

Warto zainteresować się także jakimś menedżerem plików i polecam MC:

apt-get install mc

Po instalacji warto ustawić sobie przyjaźniejszy edytor plików, niż standardowy, a robimy to poleceniem:

update-alternatives --config editor

– wybieramy nr. 4 i potwierdzamy enterem

Od razu instalniemy Gzipa:

apt-get install gzip

Jeżeli chcemy włączyć funkcję modrewrite, robimy to poleceniem:

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

Uruchamiamy MC pleceniem:

mc

i przechodzimy do /etc/apache2/sites-enabled/ i edytujemy plik który tam jest chyba o nazwie default, wciskając klawisz F4. Powinien wyglądać tak:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
	Options FollowSymLinks
	AllowOverride all
</Directory>
<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride all
	Order allow,deny
	allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
	AllowOverride None
	Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
	Order allow,deny
	Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
	Options Indexes MultiViews FollowSymLinks
	AllowOverride None
	Order deny,allow
	Deny from all
	Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

Wciskamy ESC po edycji i jak zapyta czy zapisać, to potwierdzamy

Teraz przechodzimy do edycji pliku php.ini - /etc/php5/apache2/php.ini i znów F4. Teraz odnajdujemy linijkę:

;extension=mysql.so

i usuwamy znaczek

;

od razu przechodzimy na koniec pliku php.ini i możemy już wpisać:

[ZEND]
zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.2.so
zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.3.so
zend_extension=/usr/local/lib/Zend/ZendOptimizer.so
zend_optimizer.optimization_level=15

Wciskamy ESC po edycji i jak zapyta czy zapisać, to potwierdzamy.

Serwer powinien być już gotowy, teraz wystarczy wgrać potrzebne pakiety pod Publikera i Omniadd.

Po kolei wykonywujemy polecenia:

apt-get install php5-curl

apt-get install php5-imap

wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

tar xvfz ioncube_loaders_lin_x86.tar.gz

mv ioncube /usr/local/lib/

wget https://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

tar xvfz ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

cd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/

mkdir /usr/local/lib/Zend

mv ZendOptimizer.so /usr/local/lib/Zend/

Restartujemy serwer apache poleceniem:

/etc/init.d/apache2 restart

Serwer jest gotowy do pracy. Pliki publikera i Omniaad umieszczamy w katalogu /var/www/ - osobno tworząc dla nich foldery. Osobiście nie instaluję do obsługi FTP, a w zamienniku używam programu winSCP (https://winscp.net/eng/download.php) - który łączy się poprzez SSH i możemy z powodzeniem używać go jak program FTP. Jak już wspomniałem warto zabezpieczyć serwer zmieniając standardowe porty i uruchamiając firewalla (polecam prostego shorewall)

Ja nie używam, ale jak komuś wygodnie zarządzać bazą danych MySQL poprzez phpmyadmin to może go sobie zainstalować:

apt-get install phpmyadmin

Wchodzić wtedy na niego poprzez https://ipserwera/phpmyadmin/

Jeżeli ktoś ma problem z wpisaniem regułek do crona (samouczki są w nadmiarze w google i bardzo to proste) to może zainstalować darmowego (spolszczonego) webmina (https://www.webmin.com/) i ściągamy paczkę dla debiana z rozszerzeniem *.deb - a instalujemy poleceniem:

dpkg –i nazwapaczki.deb

Choć ponoć jest dziurawy, jeżeli już ma być, to zmienić znów jego port ze standardowego 10000

Na koniec, ja tak to robię, by wykonywać zadania cron w publikerze, instaluję:

apt-get install lynx

a polecenie w cronie:

lynx -dump https://toco-pisze-w-publikerze-na-zadaniach-cron

W sumie to już wszystko powinno działać :)

Jak zauważył NieW, aktualizacje OmniAdd pojawiają się w niewygodnym dla nas formacie *.rar :( i aby móc je wypakować poprzez MC możemy zainstalować:

apt-get install unrar

[EDIT]

Przy przenoszeniu bazy danych, np. przy pomocy phpmyadmin konieczne będzie ustawić wielkość maksymalnego pliku. Parametr ten ustawiamy w pliku php.ini i wyszukujemy upload_max_filesize = 2M i zmieniamy z 2MB na tyle ile nam potrzeba.

Kopię całej bazy danych wykonywujemy poleceniem:

Tworzymy folder dla backupu:

mkdir /backup

mysqldump --user="root" --password="********" --all-databases > /backup/nazwa-kopii-bazy.sql

Robimy także kopię plików www:

tar -zcPf /backup/kopia-www.tar.gz /var/www

Odtworzenie bazy danych robimy poleceniem:

mysql –u root –p </backup/nazwa-kopii-bazy.sql

[CRON]

Jeszcze malutki podgląd jak powinien być ustawiony cron - ja mam wykonywanie co jedną minutę.

Dajemy w konsoli polecenie:

crontab -e

- otworzy się edytor, a w nim zadania - u mnie wygląda to tak (pierwsza regułka jest od publikera, cztery ostatnie od omniadd):

* * * * * lynx -dump https://to-co-pisze-w-zadaniach-cron-w-publikerze
* * * * * wget -q -O /dev/null https://ip-serwera/folder-z-omniadd/cron_add.php >/dev/null 2>&1
* * * * * wget -q -O /dev/null https://ip-serwera/folder-z-omniadd/cron_link.php >/dev/null 2>&1
* * * * * wget -q -O /dev/null https://ip-serwera/folder-z-omniadd/cron_reg.php >/dev/null 2>&1
* * * * * wget -q -O /dev/null https://ip-serwera/folder-z-omniadd/cron_comm.php >/dev/null 2>&1

Wtedy już wszystko działa jak należy.

Było by miło, gdyby ktoś wypowiedział się - jak zabezpieczyć dobrze taki serwer i podał prostą instrukcję (dla laików) - ja jak mówiłem zostawiam tylko niezbędne porty, a resztę zamykam. Dodatkowo zmieniam także standardowe porty na jakieś 5cyfrówki. Fajnie jakby ktoś także podpowiedział jak można zrobić ten system wydajniejszy.

[KOPIA ZAPASOWA]

Poniżej podam niewielki skrypcik na wykonanie kopii całej bazy danych MySQL i plików omniadd i publikera - działa na podstawie powyższych ustawień serwera.

Otwieramy edytor, najlepiej na serwerze - bo windowsowe potrafią dodać dziwne rzeczy i wpisujemy kod:

#!/bin/bash
#Pobieranie daty z systemu:
data=`date +%Y-%m-%d_%H:%M`

#Tworzy katalog backup
mkdir /backup

#Wykonanie kopii bazy mysql:
mysqldump --user="nazwa-uzytkownika" --password="haslo-do-bazy" --all-databases > /backup/dodawarki_mysql.sql

#Wykonanie kopii katalogu WWW - tam gdzie mamy dodawarki, od razu je kompresując
tar -zcPf /backup/www_$data.tar.gz /var/www

#Pakowanie bazy sql
tar -zcPf /backup/dodawarki_mysql_$data.tar.gz /backup/dodawarki_mysql.sql
rm /backup/dodawarki_mysql.sql


echo "Backup wykonany pomyslnie data: $data"

Zapisujemy plik np. w /home nadając mu nazwę choćby backup i nadajemy mu prawa wykonywalności. Można to zrobić przez MC, zaznaczamy plik, wciskamy F9 (lub myszką) i wybieramy zakładkę File a następnie cHmod - teraz wystarczy zaznaczyć x okienko execute.

Teraz wystarczy w konsoli wpisać:

./backup

i wszystkie pliki znajdą się w folderze backup, a w nazwie zawarta będzie data.

Jeszcze raz podkreślam, by uciąć niepotrzebne rozmowy i wypominanie "dziur", że to przygotowany VPS pod dodawarki który należy zabezpieczyć, co choć już niejednokrotnie podkreśliłem, dalej jest argumentem u niektórych osób. Ja stosuje proste zabezpieczenia:

- zmieniam porty ssh

- zamykam wszystkie porty, zostawiając tylko niezbędne dla pracy

- niektórzy nie rozumieją, że to nie serwer WWW i ja nie instaluje żadnych serwerów poczty, FTP, DNS, itp. - nie instaluje phpmyadmina, baza danych dostępna tylko na localhost

- tworzę użytkownika i nadaję mu prawa roota - wyłączając przy tym możliwość logowania na konto root

- mam stałe IP i ustawiam tylko możliwość logowania przez nie! Polecam to rozwiązanie, jeżeli już nawet chciałby ktoś się zalogować z innego miejsca (gdyby był przymus) przeważnie hostingi mają możliwość zalogowania się z panelu na konsolę awaryjną

Dla mnie to wystarczające zabezpieczenie

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 72
  • Dodano
  • Ostatniej odpowiedzi

Nie chcę zbytnio polecać, bo ani nie mam w tym interesu, ani zbytnio nie chcę później wyjść na winnego :)

Dlatego powiem z czego korzystam i jestem zadowolony.

https://budgetvps.pl/ - jak dla mnie to wybór idealny pod takie rzeczy, nie idealny z powodów technicznych, bo czasami zdarzają się kłopoty, ale idealny pod względem cena/jakość. Osobiście nie mam tam planu standardowego, gdyż mam jeszcze jedną aplikację na nim uruchomioną, która zżera pamięć - jednak teraz widzę, że pod te dwa programy omni i publiker wystarczy konto serwer vps 2 (te pierwsze bym chyba nie polecał, gdyż może się chyba zdarzyć, że czegoś zabraknie, choć w teorii powinno starczyć) - jednak sami sobie odpowiedzcie, czy chcecie płacić (teraz promocja na rok poniżej 200zł) mniej, czy stabilniej i więcej.

Mam tam konto od 1,5 chyba i przez ten czas kłopoty może z 10 razy i nie strasznie uciążliwe. Dlatego wybór musi być wasz ;)

Odnośnik do komentarza
Udostępnij na innych stronach

@aniec

nigdy nie maksymalnie nie sprawdzałem, najwyższe wartości uzyskiwałem od 10-20tyś.

@hekko

Wiesz, mógłbyś sobie darować i zauważyć, że wspomniałem o tym, jak i o zabezpieczeniu serwera z dostępnych poradników z netu. Zamiast straszyć bez sensu, napisałbyś coś jak prosto i w miarę skutecznie zabezpieczyć to ustrojstwo - bo na razie to Twój post powinien wylądować w koszu.

Odnośnik do komentarza
Udostępnij na innych stronach

Co do zabezpieczeń polecam fail2ban.

Jak zauważyłem zawsze, od razu po uruchomieniu vps lecą próby dostania się do serwera, a programik ten blokuje dostęp po kilku nieudanych próbach. Więcej pod tym adresem: https://www.fail2ban.org/wiki/index.php/Main_Page

Można też wyłączyć logowanie po haśle i używać kluczy.

SiteAlert - monitoring stron internetowych
Odnośnik do komentarza
Udostępnij na innych stronach

@hekko - dobrze, ze ostrzegasz, ale dopisz w takim razie jakies porady odnosnie zabezpieczen albo chociaz zalinkuj do poradnika. Bo jesli twoj post czyms w rodzaju "kupujcie u mnie!" to mi sie przypomina jak na webhostingtalk rozmawiales z uzytkownikami haslami typu "kiedy ludzie zaczna czytac ze zrozumieniem?" (abstrahując od tego po czyjej stornie byla racja).

@kazek76 - dzieki.

Darmowe programy
Potrzebujesz tekstów w krótkim czasie? Sprawdź tutaj.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności