This article is about setting up multiple PHP versions with PHP-FPM with nginx. Basically, its a note for myself, but maybe you can also use it. When this article was written, the stable PHP version was 5.4.9, so I will use that here.
It's a testing configuration, there might be security bugs, so don't use it in production!
This article is based on Ondřej Šimek's article.
So first of all, we need the actual PHP stable version, download it, unzip it, and copy it to /usr/local/src. After PHP 5.4.0, you don't need to patch. (if you need previous version, use Ondřej Šimek's tutorial for patching)
wget http://www.php.net/get/php-5.4.9.tar.gz/from/a/mirror
tar xjf php-5.4.9.tar.gz
mkdir /usr/local/src/php
mkdir /usr/local/src/php/5.4.9
mv php-5.4.9 /usr/local/src/5.4.9
Next, we need to run ./configure, and compile it. I like to install php separately to /opt/php/5.4.9
mkdir /opt/php
mkdir /opt/php/5.4.9
So run ./configure with the choosen options. You need at least these:
--prefix=/opt/php/5.4.9
--enable-fpm
(--enable-fastcgi)
--without-pear
./configure --prefix=/opt/php/5.4.9 --enable-fpm --without-pear
You may or may not need to use --enable-fastcgi, it depends on the php-version, as I can remember, since 5.3.0 you don't need to use, because it's a must-have option.
After running configure, run:
make & make install
It will create some files in /opt/php/5.4.9. You may need to copy the recommended php.ini from the source folder:
cp /usr/local/src/php-ini-production /opt/php/5.4.9
Now, you need to change some configurations in the inis:
nano /opt/php/5.4.9/etc/php-fpm
ISPConfig uses listen port 9000, so you need to change it, to for example: 9001. You may want to set up logging, you can find several lines and settings about logging, its not hard to find.
Now, you can start php-fpm:
./opt/php/5.4.9/sbin/php-fpm
Next, go to your admin panel (ISPConfig), go to System, and additional PHP versions (only available in ISPConfig 3.0.5!). Create a new php version:
FastCGI settings:
Binary: /opt/php/5.4.9/bin
PHP.ini directory: /opt/php/5.4.9
PHP-FPM settings:
init-script: /opt/php/5.4.9/etc
PHP.ini directory: /opt/php/5.4.9/
POOL directory: /opt/php/5.4.9
Save it, then go to websites, and change PHP-version where you need. It will throw a ,,Bad Gateway" error, because you didn't edit the nginx settings:
cd /etc/nginx/sites-available
nano yoursite.vhost
Then change the listen port to the port you defined earlier.
fastcgi_pass 127.0.0.1:9001
At the and: reload nginx and hurray.
/etc/init.d/nginx reload
HURRAY
Now, I have to figure out how to automatise the port change in the .vhost files..
My blog about several parts of IT, mostly about Linux and networking stuff.
Saturday, December 1, 2012
Sunday, October 14, 2012
Több COD4 szerver egy szerver fájljaiból
Igen. A COD4-nek nem szükséges, hogy szerverenként felmásoljuk a szerverre a játék fájljait, így rengeteg helyet spórolhatunk meg. Egyszerüen elég, ha elhitetjük vele, hogy ott vannak a fájlok, ahol ő azt keresni fogja. Erre tökéleset megoldás a symlink -ek használata.
ln -s target_path link_path
ln -s /cod4/vin/main main
Tehát a következőképpen kell használni:
Tehát, tegyük fel, hogy szeretnénk 4 szervert, ehhez a következő mappa struktúrát vegyük fel:
cod4:
-bin
-28960
-28961
-28962
-28963
A bin mappába másoljuk a gyári fájlokat, amik a dvd-n találhatóak ( main, mods stb.. ), majd töltsük le a legújabb (1.7) linux-os indítót ( lnxded ), ezt csomagoljuk ki, és másoljuk be mind a 4 mappába ( 28960 - 28963 ).
Ezután hozzuk létre a symlinkeket:
ln -s /cod4/bin/Mods Mods
.
.
.
Ezt szépen végig játszuk az összes mappával.
Ezután már csak létre kell hozni szerverenként a config fájlokat, illetve csinálhatunk egy indító fájlt. És már indíthatjuk is:
screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28960 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate
screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28961 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate
screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28962 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate
screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28963 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate
Saturday, October 13, 2012
Call of Duty 4 szerver Linuxon
A szerver elkészítéséhez szükségünk van a játék dvd-n található fájlokra, pontosabban a setup/main mappára. Első lépésként töltsük fel a szerverre (például winscp -vel), ez eltarthat egy ideig a hálózati kapcsolatunk sebességétől függően.
Telepítés:
A cod4 előnye, hogy ha több szervert szeretnénk futtatni, azt megtehetjük ,,osztott" erőforrásokkal, tehát csak egy main könyvtárra lesz szükségünk, ez nagy segítség, hiszen 1-1 szerver akár 4-5 GB helyet is foglalna.
( Ha több szervert szeretnél egyszerre érdemes EZT is elolvasnod! )
Feltöltés után hozzunk létre egy könyvtárat, például a usr mappában, de akár saját usert is hozzárendelhetünk a /home -ban. Biztonsági okokból ajánlott nem root-ként futtatni a szervereket.
mkdir /usr/local/games/cod4
Másoljuk át a fájlokat!
Töltsük le a legfrissebb (1.7) binárisokat pl. innen. (cod4 lnxded 1.7)
wget http://www.shrapnet.com/downloads/cod4-linux-server-06282008.tar.bz2
Ezután tömörítsük ki:
tar -jxvf cod4-linux-server-06282008.tar.bz2
cod4_lnxded
cod4_lnxded-bin
libgcc_s.so.1
libstdc + +. so.6
README.linux
pbsetup.run
apt-get install screen
screen -S cod4 ./cod4_lnxded +set sv_pure 1 +set net_port 28960 +set dedicated 2 +set sv_punkbuster 1 +exec server.cfg +map_rotate
UDP 20800
UDP 20810
UDP 28960
Telepítés:
A cod4 előnye, hogy ha több szervert szeretnénk futtatni, azt megtehetjük ,,osztott" erőforrásokkal, tehát csak egy main könyvtárra lesz szükségünk, ez nagy segítség, hiszen 1-1 szerver akár 4-5 GB helyet is foglalna.
( Ha több szervert szeretnél egyszerre érdemes EZT is elolvasnod! )
Feltöltés után hozzunk létre egy könyvtárat, például a usr mappában, de akár saját usert is hozzárendelhetünk a /home -ban. Biztonsági okokból ajánlott nem root-ként futtatni a szervereket.
mkdir /usr/local/games/cod4
Másoljuk át a fájlokat!
Töltsük le a legfrissebb (1.7) binárisokat pl. innen. (cod4 lnxded 1.7)
wget http://www.shrapnet.com/downloads/cod4-linux-server-06282008.tar.bz2
Ezután tömörítsük ki:
tar -jxvf cod4-linux-server-06282008.tar.bz2
Ha minden jól megy, a következő fájlokat találjuk kicsomagolás után:
cod4_lnxded-bin
libgcc_s.so.1
libstdc + +. so.6
README.linux
pbsetup.run
Ezzel lényegében el is készültünk, most már csak konfigurálni kell.
Konfigurálás:
Ha szeretnénk, hogy a szerver fusson kijelentkezés után is, telepítsük a screen-t:
A screen egy ügyes kis program, röviden: képes több terminált emulálni:
ctrl+a+c = új terminál
ctrl+a+n = következő terminál
ctrl+a+n = következő terminál
További lehetőségek: man screen
Igény esetén létrehozhatunk egy indító fájlt, így indításkor csak le kell futtatnunk:
echo > cod4_starter.sh
nano cod4_starter.sh
A következőket másoljuk bele:
röviden:
sv_pure 1 : a szerver ellenőrzi, hogy a játékosok fájljai nem ,,sérültek".
net_port : port, ahol elérheted
dedicated 2 :dedikált netes szerver
sv_punkbuster : engedélyezed a pb-t
exec: mindenféle fájlt megynittathatsz vele, pl configot is
A következő portokat érdemes felnyitni:
UDP 20810
UDP 28960
A server.cfg fájlodat pedig ügyesen feltöltheted mindenféle csilivili beállítással, erre rengeteg generátor létezik, egyszerüen keress rá guglin: "cod4 server.cfg generator".
Friday, October 12, 2012
STEAMCMD Segmentation fault
If you use SteamCMD on Hardened Gentoo, you need some additional security configuration otherwise it will throw:
./steam.sh: line 67: 22525 Segmentation fault ${DEBUGGER}
Update:
Keep in mind: If you update steam, you have to do this again! (The updater will download a new steamcmd, so there will be no PaX headers!)
./steam.sh: line 67: 22525 Segmentation fault ${DEBUGGER}
"${STEAMROOT}"/${PLATFORM}/${STEAMEXE} "$@"
It throws because of PaX. PaX is a security layer of hardened gentoo, which helps to prevent some attacks. We will user paxctl, For more informations:
man paxctl
So first, go to steamcmd (usually it's in /ga/me/folder/steam/linux32)
cd /ga/me/folder/steam/linux32
You can check pax flags:
paxctl -v steamcmd
PaX control v0.7
Copyright 2004,2005,2006,2007,2009,2010,2011,2012 PaX Team <pageexec@freemail.hu>
Then you need to set up some flags:
-x: disable RANDEXEC -e: disable EMUTRMA
paxctl -ex steamcmd
Then check flags:
paxctl -v steamcmd
PaX control v0.7
Copyright 2004,2005,2006,2007,2009,2010,2011,2012 PaX Team <pageexec@freemail.hu>
- PaX flags: -------x-e-- [steamcmd]
RANDEXEC is disabled EMUTRAMP is disabled
Update:
Keep in mind: If you update steam, you have to do this again! (The updater will download a new steamcmd, so there will be no PaX headers!)
Sunday, September 30, 2012
Gentoo: Apache does not interpreting PHP
If you use Gentoo/CentOS with Apache2 and PHP, and PHP is not interpreted, you should do the followings:
Open Apache2's configurations:
nano /etc/conf.d/apache2
Change the line:
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5 -D USERDIR"
After changing the line, don't forget to restart Apache:
/etc/init.d/apache2 restart
Now it should work!
Open Apache2's configurations:
nano /etc/conf.d/apache2
Change the line:
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5 -D USERDIR"
After changing the line, don't forget to restart Apache:
/etc/init.d/apache2 restart
Now it should work!
Sunday, August 26, 2012
Counter Strike: Global Offensive szerver készítés linuxon
A következő cikkben bemutatom, hogy hogyan lehet Counter Strike: GO szervert telepíteni Linuxra. Első lépésként, ha még nem tettük volna meg, telepítsük a SteamCMD-t. A SteamCMD telepítéséről itt olvashatsz.
Adjuk meg a telepítési útvonalat, például:
force_install_dir ./cs_go/
Némelyik Linux disztribúción hibásan működik, ha a telepítési útvonalban nagy betűket használunk, erre figyeljünk oda!
Adjuk meg, hogy melyik játékot szeretnénk telepíteni, ez CS:GO esetében 740-es kód:
app_update 740 validate
Ezután, ha a játék még nincs telepítve, akkor letölti a szükséges fájlokat, ha telepítve van, akkor megpróbálja frissíteni a játékot. Ha használjuk a validate kulcsszót, ellenőrzi a fájlok konzisztenciáját. (Később ezzel a paranccsal tudjuk frissíteni a szervert! Az útvonal megadása ez esetben is kötelező!)
Váltsunk a cs_go mappába:
cd cs_go
Telepítés:
Adjuk meg a telepítési útvonalat, például:
force_install_dir ./cs_go/
Némelyik Linux disztribúción hibásan működik, ha a telepítési útvonalban nagy betűket használunk, erre figyeljünk oda!
Adjuk meg, hogy melyik játékot szeretnénk telepíteni, ez CS:GO esetében 740-es kód:
app_update 740 validate
Ezután, ha a játék még nincs telepítve, akkor letölti a szükséges fájlokat, ha telepítve van, akkor megpróbálja frissíteni a játékot. Ha használjuk a validate kulcsszót, ellenőrzi a fájlok konzisztenciáját. (Később ezzel a paranccsal tudjuk frissíteni a szervert! Az útvonal megadása ez esetben is kötelező!)
Váltsunk a cs_go mappába:
cd cs_go
Beállítások:
A csgo mappán belül találjuk a beállításokat tartalmazó .txt kiterjesztésű fájlokat, itt főként a játékmenetet befolyásoló beállítások vannak.
A csgo/cfg mappán belül kell elhelyezni a server.cfg nevű fájlt, alap esetben nem hozza létre, ezt nekünk kell megtenni: ( Ha nem tesszük meg, semmi gond, az alap beállításokat fogja használni! ).
cd csgo/cfg
echo > server.cfg
Ide másoljuk be a következőket:
hostname "Counter-Strike: Global Offensive Dedicated Server" // a szervered neve
A csgo/cfg mappán belül kell elhelyezni a server.cfg nevű fájlt, alap esetben nem hozza létre, ezt nekünk kell megtenni: ( Ha nem tesszük meg, semmi gond, az alap beállításokat fogja használni! ).
cd csgo/cfg
echo > server.cfg
Ide másoljuk be a következőket:
hostname "Counter-Strike: Global Offensive Dedicated Server" // a szervered neve
rcon_password "yourrconpassword" //rcon jelszó
sv_password "" //szerver jelszó
Ezeken felül további beállításokat is használhatsz:
Ezeken felül további beállításokat is használhatsz:
mp_freezetime 5 //Vásárlási idő
mp_join_grace_time 15 //Mennyi ideig lehet még csatlakozni kezdés után
mp_match_end_restart 0 // Meccs végi pálya restart
sv_cheats 0 //Csalás kikapcsolása
sv_lan 0 //LAN mód kikapcsolása
A következő bot beállítások a szerver alap beállításai:
bot_difficulty 1
bot_chatter "off"
bot_join_after_player 1
bot_quota 10
bot_quota_mode "fill"
A következő beállításokkal bannolhatunk játékosokat a szerverről:
writeid
writeip
exec banned_user.cfg
exec banned_ip.cfg
A csgo/config appán belül pedig a szerverrel kapcsolatos beállítások, például itt állíthatjuk be a szervert nevét, jelszavát.
A csgo/config appán belül pedig a szerverrel kapcsolatos beállítások, például itt állíthatjuk be a szervert nevét, jelszavát.
Indítás
Az indításhoz lépjünk be a steam/cs_go mappába:
cd steam/cs_go
A játék 4 féle játékmódot támogat, ezek alapján a következőképpen lehet elindítani a szervert:
Classic Casual:
cd steam/cs_go
A játék 4 féle játékmódot támogat, ezek alapján a következőképpen lehet elindítani a szervert:
Classic Casual:
./srcds -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust
Classic Competitive:
Classic Competitive:
./srcds -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_dust
Arms Race:
Arms Race:
./srcds -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots
Demolition:
Demolition:
./srcds -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_lake
Egyéb
Igény esetén lehet saját MOTD-t beállítani:
csgo mappában
echo > motd.txt
ide írhatunk be pl. egy weblap címét, melyet böngésző-szerűen fog megjeleníteni
A játék admin oldali része, illetve beállításai szinte megegyeznek a Counter Strike: Source beállításaival.
A tutorial az eredeti Steam-es ajánlás alapján készült.
csgo mappában
echo > motd.txt
ide írhatunk be pl. egy weblap címét, melyet böngésző-szerűen fog megjeleníteni
A játék admin oldali része, illetve beállításai szinte megegyeznek a Counter Strike: Source beállításaival.
A tutorial az eredeti Steam-es ajánlás alapján készült.
Címkék:
counter-strike,
debian,
játékszerver,
linux,
server,
steam,
szerver
SteamCMD letöltése és beállítása linuxon
Az új Steam-es játékok telepítéséhez már nem tudjuk a HLDSUpdateTool -t használni, az új eszköz a SteamCMD lett. Telepítése roppant egyszerű, néhány lépés az egész:
tar xvfz steamcmd.tar.gz
Első lépésként töltsük le a becsomagolt telepítőt, majd csomagoljuk ki:
wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gztar xvfz steamcmd.tar.gz
Indítsuk el a telepítőt:
./linux32/steamcmd
Indítás után pedig a következő paranccsal tudunk belépni:
STEAMEXE=steamcmd ./steam.shIndítás után pedig a következő paranccsal tudunk belépni:
Indítás után a már meglévő Steam felhasználónevünkkel és jelszavunkkal be kell lépni, ezt a következő formában tudjuk megtenni:
login <username> <password>
Ha belépéskor hibát jelezne, akkor az email-ben kapott SteamGuard kódot is írjuk utána:
login <username> <password> <steam guard code>
Sikeres bejelentkezés után már telepíthetjük is a kiválasztott játékokat!
Ha Hardened Gentoo -t használunk, még kell néhány biztonsági beállítás.
Ha Hardened Gentoo -t használunk, még kell néhány biztonsági beállítás.
Wednesday, August 1, 2012
Asterisk telepítés Debian-ra
Asterisk:
Az Asterisk-et kétféle módon telepíthetjük:
2. Letöltjük a forráskódot és lefordítjuk a gépünkön. Ez egy kicsit több időt vesz igénybe, de éles rendszernél mindenképpen ajánlott kiválaszthatjuk, hogy milyen csomagokat (pl. codec-eket, és egyéb szolgáltatásokat) szeretnénk telepíteni, így csökkentve az erőforrás használatot. A telepítési fázisok itt érhetőek el.
Érdemes megemlíteni, hogy létezik egy FreePBX nevű eszköz, melyet egy telepített Asterisk-es rendszerhez kell kötnünk. Ez egy remek eszköz a rendszer monitorozására, illetve menedzselésére. A FreePBX telepítésére itt olvashatsz bővebben.
FreePBX telepítés Debian-ra
A FreePBX nem más, mint egy GUI az Asterisk vezérléséhez. Ha gyakran kell állítani a rendszeren, érdemes használni, hiszen nem kell a .conf fájlokban turkálni. Emellett elég sok adatot képes megjeleníteni a rendszerről: felhasználók, terhelés, elérhető frissítések, stb. .
A telepítése roppant egyszerű, szükséges hozzá PHP5, és MySQL. Állítólag a PHP5.4-et nem igazán kedveli, nekem nem volt vele problémám.
Telepítsük a PHP-t, és MySQL-t:
apt-get install php5-mysql libapache2-mod-php5 mysql-server php-db php5-gd php-pear
Készítsük elő a MYSQL adatbázisokat:
mysql -u root -p
create database asterisk;
create database asteriskcdrdb;
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; flush privileges;
mysql -u root -p asterisk < SQL/newinstall.sql
Szükséges felhasználó létrehozása
groupadd asterisk
useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
passwd asterisk
A telepítése roppant egyszerű, szükséges hozzá PHP5, és MySQL. Állítólag a PHP5.4-et nem igazán kedveli, nekem nem volt vele problémám.
Letöltés/előkészítés:
apt-get install php5-mysql libapache2-mod-php5 mysql-server php-db php5-gd php-pear
Váltsunk a tmp mappába:
cd /tmp
Töltsük le az épp használatos verziót, jelenleg ezek közül lehet ávlasztnai:
A 2.9-es csak 1.8 ig támogatja az Asterisket!
wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz
Váltsunk az src mappába, csomagoljuk ki, és lépjünk bele:
cd /usr/src
tar xvfz /tmp/freepbx-2.10.0.tar.gz
cd /tmp
Töltsük le az épp használatos verziót, jelenleg ezek közül lehet ávlasztnai:
A 2.9-es csak 1.8 ig támogatja az Asterisket!
wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz
Váltsunk az src mappába, csomagoljuk ki, és lépjünk bele:
cd /usr/src
tar xvfz /tmp/freepbx-2.10.0.tar.gz
cd freepbx-2.10.0
Készítsük elő a MYSQL adatbázisokat:
mysql -u root -p
create database asterisk;
create database asteriskcdrdb;
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; flush privileges;
quit
Töltsük be a szükséges SQL táblákat:
Töltsük be a szükséges SQL táblákat:
mysql -u root -p asterisk < SQL/newinstall.sql
mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql
Szükséges felhasználó létrehozása
useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
passwd asterisk
Ha még nem lennének meg a könyvtárak, akkor hozzuk létre:
mkdir /var/run/asterisk
chown asterisk:asterisk /var/run/asterisk
chown asterisk:asterisk /var/run/asterisk
Adjuk hozzá az asterisk usert a www-data csoporthoz:
nano /etc/group
www-data:x:33:asterisk
(f2-vel tudsz menteni és bezárni)
nano /etc/apache2/apache2.conf
(ctrl+w- vel tudsz keresni)
Most be kell állítani, hogy az Apache az asterisk user nevében fusson:
Cseréld le a következő sorokat:
User www-data
Group www-data
erre:
User asterisk
Group asterisk
(Lehet, hogy a User és Group után valami $-os szöveg van, azt törölheted, de a legegyszerűbb ha simán kommenteled(#).
chown -R asterisk /var/lib/php5
Változtassuk meg a php.ini beállításait, kicsit ki kell bővíteni:
nano /etc/php5/apache2/php.ini
upload_max_filesize = 32M
max_execution_time = 120
max_input_time = 120
./install_amp
A telepítő menet közben meg fog kérdezni néhány dolgot, a többségét hagyhatjuk alapbeállításon, egyedül az IP címet érdemes megváltoztatni, illetve a telepítés helyét. A telepítés helyénél figyeljünk arra, hogy a /var/www/mappanev helyre kerüljön, ha ezen belül egy almappába kerül, akkor még szöszölni kell vele.
Változtassuk meg a php.ini beállításait, kicsit ki kell bővíteni:
nano /etc/php5/apache2/php.ini
upload_max_filesize = 32M
max_execution_time = 120
max_input_time = 120
Fontos, hogy a telepítés megkezdése előtt mindenképpen készítsünk biztonsági mentést a modules.conf fájlról!
cp /etc/asterisk/modules.conf ~/asterisk-modules.conf
cp /etc/asterisk/modules.conf ~/asterisk-modules.conf
Telepítő elindítása:
A telepítő menet közben meg fog kérdezni néhány dolgot, a többségét hagyhatjuk alapbeállításon, egyedül az IP címet érdemes megváltoztatni, illetve a telepítés helyét. A telepítés helyénél figyeljünk arra, hogy a /var/www/mappanev helyre kerüljön, ha ezen belül egy almappába kerül, akkor még szöszölni kell vele.
Bug:
Előfordul, hogy Asterisk telepítésénél a ,,make sample" módot választjuk, ekkor legenerálja a sok .config fájlt, amire szükségünk lesz, és default beállításokkal szolgál. Viszont ezen verzió telepítője szépen kihagy néhány fájlt, ezért pl.: FreePBX nem képes csatlakozni Asterisk-hez (Asterisk nem képes feldolgozni a manager.conf fájlt). A FreePBX-es problémát a következő képpen tudjuk megoldani:
nano /etc/asterisk/manager.conf
A fájl végén látunk két include-ot (# az elején). Ezeket a fájlokat elfelejti létrehozni, ezért vagy hozzuk létre, vagy ;-vel kommentezzük ki. A fájlok tartalma nem létfontosságú, csak a szeparálhatóság végett fontos.
nano /etc/asterisk/sip.conf
A fájl végéhez adjuk hozzá:
#include sip_additional.conf
Ha minden jól ment, akkor kész a GUI, valami ilyesmit kéne kapni:
nano /etc/asterisk/sip.conf
A fájl végéhez adjuk hozzá:
#include sip_additional.conf
Ha minden jól ment, akkor kész a GUI, valami ilyesmit kéne kapni:
Asterisk telepítés: forrásból
A következő cikkben az Asterisk telepítését járjuk végig, ebben a telepítésben a hivatalos oldalon található forrásokból fogunk fordítani. Nem csak az Asterisk-et, hanem a hozzá tartozó kiegészítőket is. Elsőként töltsük le az Asterisk oldaláról a szükséges fájlokat.
Letöltések:
Asterisk forrásMindenképpen szükséges letölteni.
DAHDI Linux / DAHDI Tools
(Digium/Asterisk Hardware Device Interface), Digium és néhány más gyártó által készített, főleg PCI-os kártyák vezérléséhez használt interfész, ezt akkor telepítsük, ha tervezünk ilyen kártyát használni (pl.: FXO: összeköti a rendszert a PSTN (telefonos) hálózattal. Régebben Zaptel néven futott. A complete verziót töltsük le, így egyben megkapjuk a DAHDI Linux és DAHDI Tools fáljait.
LibPRI
Open -source könyvtár, segítségével kapcsolódhatunk ISDN hálózatra, ileltve használhatjuk az ISDN-PRI és ISDN-BRI protokollokat.
LibSS7
Az SS7 protokoll használatát teszi lehetővé.
Ezeket az eszközöket nem árt ha telepítjük, többnyire használni is fogjuk őket. A telepítésükkor szükséges a sorrendet betartani:
LibPRI -> DAHDI Linux/ DAHDI Tools -> LibSS7-> Asterisk
Telepítés:
Elsőként telepítenünk kell néhány csomagot (előfordulhat, hogy már telepítve van némelyik, ez esetben haladjunk tovább), ezek a következők lesznek:bison
ncurses-dev
libssl-dev
libnewt-dev
zlib1g-dev
initramfs-tools
cvs
procps
Ezeket a szokásos csomagkezelővel telepíthetjük a következő formában:
apt-get install csomagnev
A /usr/src mappában hozzunk létre egy asterisk nevű mappát:
mkdir /usr/src/asterisk
Majd a letöltött forrásokat csomagoljuk ki. A mappanevek a verziószámok változásával változnak, így a verziókat nem írom ki.
Most egyesével telepítjük a kiegészítő csomagokat:
1. LibPRI:
cd /usr/src/asterisk/libpri
make
make install
cd ..
2. DAHDI Linux
cd /usr/src/asterisk/DAHDI
make
make install
make config
cd ..
3.LibSS7
cd /usr/src/asterisk/LibSS7
make
make install
cd ..
Most jön az Asterisk telepítése:
A telepítés elkezdése előtt bizonyosodjunk meg róla, hogy van c++ fordító telepítve, ha nincs:
apt-get install g++
Az Asterisk alap beállításként SQLite3 adatbázist használ, ezt is telepíteni kell:
apt-get install sqlite3 libsqlite3-dev
cd /usr/src/asterisk/asterisk
make clean
./configure --disable-xmldoc
Ez eltart egy kis ideig, ha bármilyen hiba keletkezne, a végén kiírja, így javíthatjuk a hibákat. Ha sikeresen lefutott, igény szerint kiadhatjuk a
make menuselect
parancsot, ezzel egy GUI-s felületet kapunk, itt tudunk beállítani pl.: addonokat, különböző codec-eket és további kiegészítőket. Végül:
make install
A telepítés végén felajánlja, hogy készít sample fájlokat, ez főként akkor jó, amikor még barátkozunk a rendszerrel, ha szeretnénk ilyenekete:
make samples
Igény esetén dokumentációt is telepíti, de ehhez szükség van doxygen-re:
make progdocs
A programról röviden:
Le lehet kérni a parancsokat:
asterisk -h
Csatlakozás a helyi szervehez:
asterisk -r (CLI -n keresztül tudunk parancsokat adni neki).
Bug!!
Előfordul, hogy Asterisk telepítésénél a ,,make sample" módot választjuk, ekkor legenerálja a sok .config fájlt, amire szükségünk lesz, és default beállításokkal szolgál. Viszont ezen verzió telepítője szépen kihagy néhány fájlt, ezért pl.: FreePBX nem képes csatlakozni Asterisk-hez (Asterisk nem képes feldolgozni a manager.conf fájlt). A FreePBX-es problémát a következő képpen tudjuk megoldani:
nano /etc/asterisk/manager.conf
A fájl végén látunk két include-ot (# az elején). Ezeket a fájlokat elfelejti létrehozni, ezért vagy hozzuk létre, vagy ;-vel kommentezzük ki. A fájlok tartalma nem létfontosságú, csak a szeparálhatóság végett fontos.
nano /etc/asterisk/sip.conf
A fájl végéhez adjuk hozzá:
#include sip_additional.conf
Sunday, July 22, 2012
PunkBuster Telepítés/Frissítés Linuxon (Debian)
Ez a cikk a kezdő játékszerver üzemeltetőknek szól. Szinte az összes játéknál elengedhetetlen, hogy a szerveren a legfrissebb PunkBuster fusson, ennek hiányában nagy mértékben csökkenhet a játékélmény, és csak fikázzák a klassz szerverünket. A PunkBuster telepítéséhez, és frissítéséhez szintén nincs szükség nagy Linux-os szakértelemre, a cikket végigkísérve sikeresen végrehajthatjátok.
Telepítés
Első lépésként hozzunk létre egy mappát, majd másoljuk be a pbsetup.run nevű fájlt, amelyet innen tudunk letölteni. A letöltött fájlt valahogy juttassuk el a szerverre (pl.: FTP).
mkdir /usr/local/games/pb |
cd /usr/local/games/pb |
Tegyük a letöltött fájlt futtathatóvá:
chmod +x pbsetup.run |
Beállítás
A pbsetup.run indításával tudunk hozzáadni, törölni játékokat, illetve a szervereken frissíteni a PunkBustert, az -ag kapcsolóval válaszhatjuk ki a játék nevét (add-game), és az -apkapcsolóval az elérését (add-path). A játék neve legyen pl.: bf2 ( Battlefield 2), az elérése legyen: /usr/local/games/bf2.
. /pbsetup .run -ag bf2 -ap /usr/local/games/bf2 |
Ezen sor ismétlésével adhatunk hozzá további játékokat is. A -u kapcsolóval egyszerre frissíthetjük az összes szervert, a PunkBuster ezután elméletileg frissíti magát, gyakorlatilag nem biztos, ezért érdemes néha kiadni a parancsot, hogy mindenképpen frissüljön.
. /pbsetup .run -u |
További
A -l kapcsolóval kilistázhatjuk a telepített játékokat, és a verziókat.
. /pbsetup .run -l |
Battlefield 2 szerver készítés linuxon
A cikkben egy Battlefield 2 szerver létrehozását fogom bemutatni. Ha van egy kis Linux-os ismereted, akkor a leírás alapján a telepítés nem okozhat gondot, a témával kapcsolatos kérdéseket szívesen várom kommentként. A telepítéshez csak a Linux-os szerver telepítő szükséges, melynek legújabb verzióját a leírásban található linket keresztül le tudjátok tölteni.
Telepítés
Első lépésként hozzuk létre a mappát, ahova szeretnénk a szervert telepíteni.
cd /usr/local/games |
mkdir battlefield2 |
cd battlefield2 |
chmod +x . /bf2-linuxded-1 .5.3153.0-installer.sh |
Majd indítsuk el a telepítést:
. /bf2-linuxded-1 .5.3153.0-installer.sh |
Az indítás után a telepítő ellenőrzi, hogy nem sérült-e meg a fájl a letöltés során, illetve kicsomagolja azt, ez a szerver teljesítményétől függően eltarthat néhány percig. Ezután felszólít, hogy olvassuk el az EULA-t, nyomjunk egy ENTER-t, és olvasgassunk (ENTER nyomkodásával, van nyomva tartásával tudsz lefele haladni). Ha egyet értünk vele, irjunk be egy ,,accept” -et, majd ismét ENTER.
A következő lépés szinte ugyan az mint az előző, itt most a PunkBuster EULA-ját kell elolvasnunk és elfogadnunk, a különbség csak annyi, hogy a végén ,,yes“-t kell írni. Fontos, hogy a PunkBuster frissítve legyen, erről az egyik előző cikkben olvashattok.
A következő lépésben meg kell adnunk egy már létező könyvtárat, ahova szeretnénk telepíteni a játékot, fontos, hogy ez a könyvtár létezzen, és legyen is jogosultságunk írni bele. (ha a leírás elején létrehoztuk a mappát, akkor a következőt írjuk bele: /usr/local/games/battlefield2).
Beállítás
A szerver beállításához nyissuk meg a config fájlt:
vi . /mods/bf2/settings/serversettings .con |
Néhány beállítás
sv.serverName "eKapocs Egyesuleti szerver" sv.password "titkosjelszo" sv.internet 1 sv.bandwidthChoke 0 sv.welcomeMessage "Die Hard" sv.punkBuster 1 sv.allowFreeCam 0 sv.allowExternalViews 1 sv.allowNoseCam 1 sv.hitIndicator 0 sv.maxPlayers 64 sv.numPlayersNeededToStart 2 sv.notEnoughPlayersRestartDelay 15 sv.startDelay 15 sv.endDelay 15 sv.spawnTime 15 sv.manDownTime 15 sv.endOfRoundDelay 15 sv.ticketRatio 100 sv.roundsPerMap 3 sv.timeLimit 0 sv.scoreLimit 0 sv.soldierFriendlyFire 100 sv.vehicleFriendlyFire 100 sv.soldierSplashFriendlyFire 100 sv.vehicleSplashFriendlyFire 100 sv.tkPunishEnabled 1 sv.tkNumPunishToKick 3 sv.tkPunishByDefault 0 sv.votingEnabled 1 sv.voteTime 90 sv.minPlayersForVoting 2 sv.gameSpyPort 29900 sv.allowNATNegotiation 0 sv.interfaceIP "" sv.autoRecord 0 sv.demoIndexURL http:// sv.demoDownloadURL http:// sv.autoDemoHook "adminutils/demo/rotate_demo.py" sv.demoQuality 1 sv.adminScript "default" sv.timeBeforeRestartMap 30 sv.autoBalanceTeam 0 sv.teamRatioPercent 100
A szervert beállíthatjuk úgy, hogy a játékosok közti hangátvitel a szerveren keresztül történjen, de ajánlottabb egy külön rendszert használni erre pl.: TeamSpeak, Mumble, Ventrilo stb.
sv.voipEnabled 0 sv.voipQuality 3 sv.voipServerRemote 0 sv.voipServerRemoteIP "" sv.voipServerPort 55125 sv.voipBFClientPort 55123 sv.voipBFServerPort 55124 sv.voipSharedPassword ""
További beállítások
sv.useGlobalRank 1 sv.useGlobalUnlocks 1 sv.sponsorText "by Skeleton.hu" sv.sponsorLogoURL "http://www.skeleton.hu/theme/banners/gyik.jpg" sv.communityLogoURL "" sv.radioSpamInterval 6 sv.radioMaxSpamFlagCount 6 sv.radioBlockedDurationTime 30
Egyéb beállítások
Előfordulhat, hogy néhány barátunk sehogy sem tud kapcsolódni a szerverre, ilyenkor a következő portokat tiltsuk le az alábbi parancsokkal:
iptables -A INPUT -m udp -p udp --sport 29910 -s 0 /0 -j DROP |
iptables -A INPUT -m udp -p udp --sport 139 -s 0 /0 -j DROP |
iptables -A INPUT -m tcp -p tcp --sport 29910 -s 0 /0 -j DROP |
iptables -A INPUT -m tcp -p tcp --sport 1433 -s 0 /0 -j DROP |
iptables -A INPUT -m tcp -p tcp --sport 1434 -s 0 /0 -j DROP |
iptables -A INPUT -m tcp -p tcp --sport 139 -s 0 /0 -j DROP |
Fontos, hogy a szerverre csak akkor tudnak csatlakozni, ha a játékosok az 1.5 -ös verziót használják, az 1.5-ös telepítés előtt mindenképpen telepíteni kell az 1.42-es verziót is!
A szerver távoli elérése (RCON)
Hozzunk létre egy admin beállításokat tartalmaz fájlt:
vi . /admin/default .cfg |
A következőket írjuk bele:
port=4711
password=rconjelszo
password=rconjelszo
Gratulálok, ha mindent jól csináltál, akkor már kész is van a saját, külön bejáratú játékszervered! Ha bármi kérdésed, problémád lenne, nyugodtan írj kommentként.
Címkék:
játékszerver,
linux,
server,
szerver
Subscribe to:
Posts (Atom)