Управление на VPS без наличието на контролен панел

Контролният панел за един VPS може да бъде както предимство така и недостатък. Предимството се изразява в удобството за лесно управление на ресурсите и виртуалния сървър. Недостатъка на повечето контролни панели са ресурсите, които те вземат и които могат да бъдат използвани за други по-полезни цели. Като пример можем да Ви дадем cPanel, който не може да работи добре на VPS с по-малко от 512MB оперативна памет. Управлението на един виртуален сървър без контролен панел обаче може да се окаже голямо предизвикателство, тъй като това изисква познания в областта на Линукс.

Чрез този помощен материал ние ще се опитаме да Ви покажем как можете да започнете ако решите да закупите VPS без контролен панел.

За този урок ще дадем пример с VPS сървър с инсталиран 64 битов x86_64 CentOS 5.x и yum на новосъздадения Ви виртуален сървър и желаете да сложите не повече от 5-6 сайта без да натоварвате системата прекалено много с контролни панели или просто виртуалният сървър е с по-малко или най-ниският капацитет възможен. В случая ще се използва виртуален сървър с 280 мБ гарантирана памет и 350 мБ твърд лимит 20 000 cpu unit-a централизирани на един процесор.Изискванията който трябва да се покрият преди да започнем работа по самата конфигурация на сървърът Ви са следните :

 

1. Инсталиране на необходимите plugins към yum .

2. Вмъкване на нужните хранилища (repositories) .

3. Update на системата и инсталация на необходимите пакети който ще ползваме.

 

Нека започнем с инсталация на необходимите plugins и настройките на yum като цяло, свържете се с сървърът чрез SSH клиент (можете да използвате програмата Putty, която е напълно безплатна). След като сте се свързали успешно, можете да започнете с обновяване на системата си с последния софтуер. Това става като изпълните следните команди :

 

yum update -y

yum upgrade -y

yum install -y yum-fastestmirror yum-priorities

 

yum-fastestmirror е пакет който се зарежда успоредно с yum за да прецени коe е най-бързото хранилище за вашият Интернет доставчик.

yum-priorities стриктно следи инсталирането на пакети да е точно така както си трябва, за да не се наруши целостта на системата чрез инсталиране на неправилни пакети като задава приоритети на всяко хранилище.

Забележка: След като са минали yum update & yum upgrade можете да рестартирате ако пакетите, който са се инсталирали или обновили са Ви се сторили достатъчно много но НЕ е задължително !

Нека преминем на второто изискване което е вмъкването на необходимите ни за стабилна и правилна работа на системата хранилища както следва :

 

• Хранилището atomic :

wget -q -O - http://www.atomicorp.com/installers/atomic |sh

• Хранилището rpmforgewget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpmrpm -Uhv rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

 

Забележка: Имайте в предвид, че линка по-горе който съм дал за rpmforge хранилището е точно по примера за 64 битов CentOS над версия 5.х.x , вашият хостинг сървър може да е с съвсем различна система или архитектура на системата, следователно посетете това място, за да изберете правилният пакет :

https://rpmrepo.org/RPMforge/Using

След като вече сме покрили критерия за необхимите хранилища за самата система е време да се ориентираме към необходимите ни пакети за уеб базираните ни приложения :

 

httpd

• mysql

• php

• perl

• python

• phpmyadmin

yum update -y && yum install – y httpd bzip2 unzip zip openssl python perl php php-common php-cli php-xml php-xmlrpc php-mcrypt php-mbstring php-eaccelerator php-pdo php-tidy php-snmp php-pgsql php-soap php-odbc php-mysql php-imap php-gd php-pear php-ldap php-devel php-mhash mysql-server mysql-devel phpmyadmin ImageMagick curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel

 

В момента може да Ви се вижда малко дълъг този списък с пакети, но е по-добре нещата да ги имате инсталирани и да можете да ги изключвате и включвате когато Ви потрябват или са Ви излишни от колкото да ги нямате изобщо.

Нещо допълнително, което до момента не сме намерили в хранилище или да се поддържа на пакет е mod_ruby ако случайно Ви е необходим можете да си го направите сами по следният начин :

 

yum install -y httpd-devel ruby ruby-devel apr-devel

cd /tmp

wget http://www.modruby.net/archive/mod_ruby-1.3.0.tar.gz

tar zxvf mod_ruby-1.3.0.tar.gz

cd mod_ruby-1.3.0/

./configure.rb --with-apr-includes=/usr/include/apr-1makemake install

 

След като модулът е инсталиран и готов за зареждане, направете файл към apache конфигурацията, за да зарежда заедно с apache при стартиране или рестартиране по следният прост начин :

 

vim /etc/httpd/conf.d/ruby.conf

 

и сложете следният ред в файлът :

 

LoadModule ruby_module modules/mod_ruby.so

 

/etc/init.d/httpd reload - за да се презаредят всички нови .conf файлове

След като вече инсталирахме най-необходимият ни софтуер и пакети е време да обърнем внимание на конфигурацията на тези пакети, който инсталирахме до момента главно на следните няколко :

 

php

• mysql

• httpd

 

Конфигурацията на http или apache зависи от начин по който желаете да устройте виртуалните си хостове най-вече, изборите са много но в случаят ще дам за пример как един обикновен потребител може да контролира между 5 до 10 сайта в неговата си /home директория. За пример ще използваме потребителя на тестовият VPS, който използвахме за да тествам тази конфигурация под името web !

Нека първоначално направим потребителя:

useradd web ( За да добавим потребителя )

passwd web ( За да настройм паролата на потребителя )

Следва да направим примерните директории, който виртуалните ни хостове ще използват в случаят :

 

mkdir -p /home/web/domain1.org/public_html/

mkdir -p /home/web/domain2.org/public_html/

mkdir -p /home/web/domain3.org/public_html/

cd /home/ chmod -R 755 web/

 

След като имаме вече съществуващи директории е време да обърнем внимание на конфигурацията на apache/httpd :

 

vim /etc/httpd/conf/httpd.conf

 

Променете следните редове да изглеждат както са долу :

NameVirtualHost *:80 ( За да можете да описвате множество виртуални хостове е необходимо да се премахне коментара на тази опция и да се сложи звезда * пред :80 )

ServerName apache.jump.bg:80 ( Това е името на главния Ви httpd сървър тоест глобалното apache, в случая използвахме събдомейн към един от домейните си)
ServerAdmin my-email@my-domain.org (Тук се попълва вашия email или email-a на човекът който ще отговаря за сървъра)

DirectoryIndex index.html index.cgi index.php (Тъй като по default търси само дали има index.html файл трябва да добавите index.php, за да го търси и отваря в всичките ви виртуални директории за различните Ви домейни)

DocumentRoot "/var/www/html" (това е директорията от която apache ще търси съдържанието на главният Ви хост или в нашият пример apache.jump.bg)

UserDir enable public_html (Тази опция е за главните директории на потребителите Ви, може и да не я пускате, нo е желателно)

Най-сетне е време да опишем трите си домейна като виртуални хостове :

vim /etc/httpd/conf.d/vhosts.conf (vhosts можете да го промените на каквото име желаете, не е задължително да е точно това, a conf.d/ е директория от която се зареждат абсолютно всички .conf файлове , конфигурацията на отделните модули и настройки по принцип се слагат на файлове в тази папка, за повече информация разгледайте реда Include conf.d/*.conf  в /etc/httpd/conf/httpd.conf )

Примерните три виртуални хостове който трябва да опишете в файла vim /etc/httpd/conf.d/vhosts.conf :

#domain1.org

<VirtualHost *:80>

ServerAdmin my-email@my-domain.com

DocumentRoot /home/web/domain1.org/public_html/

ServerName www.domain1.org

ServerAlias domain1.org *.domain1.org

<Directory /home/web/domain1.org/public_html/>

AllowOverride All

Options -Indexes

</Directory>

</VirtualHost>

#domain1.org

 


#domain2.org

<VirtualHost *:80>

ServerAdmin my-email@my-domain.org

DocumentRoot /home/web/domain2.org/public_html/

ServerName www.domain2.org

ServerAlias domain2.org *.domain2.org

<Directory /home/web/domain2.org/public_html/>

AllowOverride All

Options -Indexes

</Directory>

</VirtualHost>

#domain2.org

 


#domain3.org

<VirtualHost *:80>

ServerAdmin my-email@my-domain.org

DocumentRoot /home/web/domain3.org/public_html/

ServerName www.domain3.org

ServerAlias domain2.org *.domain3.org

<Directory /home/web/domain3.org/public_html/>

AllowOverride All

Options -Indexes

</Directory>

</VirtualHost>

#domain3.org


Променете тези примерни виртуални хостове както желаете това са просто най-базово необходимите настройки и нищо повече.

След като си описахме трите домейна е време да рестартираме apache-то, за да зареди новите си настройки :

/etc/init.d/httpd restart

След като се рестартира самото apache ще Ви каже ако има проблем с вашата конфигурация дори има и възможност да не тръгне но ще Ви изпише определена грешка, а в най-лошият случай ще се наложи да си прегледате конфигурацията още един два пъти, за да я сверите. Ако рестарта мине успешно, можете спокойно да проверите дали домейните се отварят със съдържанието, което имате в техните папки за тест можете да направите следното :

cd /home/

chown -R web: web/

chmod -R 755 web/

su web/

cd ~/domain1.org

vim index.php

<? phpinfo(); ?>

След което отворете през браузъра си домейна в чиято папка сте поставили файлът за да видите резултатът, Вие трябва да видите подробна информация за текущата PHP версия и използваните модули на сървъра.  Ако сте следвали правилно стъпките до тук, ние можем преминем на следващият етап за конфигуриране наMySQL. Изпълнете следните няколко команди за да удостоверите че MySQL сървърът Ви ще работи нормално и ще е защитен с парола :

 

/etc/init.d/mysqld restart

/usr/bin/mysqladmin -u root password 'my-password'

 

В скобите където пише my-password трябва да сложите вашата предпочитана root парола )

Примерно създаване на база данни и даване на права върху тази база на определен потребител :

 

mysql -u root -p'my-password'

create database testing;

grant all on testing.* to web@localhost identified by 'user-web-password'

flush privileges;

quit;

 

Остана само да прегледаме PHP настройките, които се намират във файла php.ini. Чрез този файл Вие лесно можете да конфигурирате Вашето PHP според собствените Ви изисквания:

 

vim /etc/php.ini

 

Вече сте готови да започнете разработката на сайтовете си спокойно на базата на тази система, моля имайте в предвид че това базово описание на необходимите настройки и инсталации.

Статия от Тихомир Георгиев

С над 10 години опит в техническата поддръжка, основната цел на Тихомир е да запознае клиентите ни как да използват услугите или прилежащият към тях софтуер.

Социални мрежи:
Още статии от автора

Абонирайте се за нашия бюлетин

С абонамента си получаваш повече актуални новини и нашите специални промо оферти

Абонирайте се за нашия бюлетин