perjantaina, joulukuuta 19, 2014

SSH avaimen teko

Trakoituksena oli tehdä yksinkertainen ohje jolla saat tehtyä ssh avaimen ja kopsattua sen palvelimelle.
Lataa ensin itsellesi windows koneeseen generointi ohjelman täältä tai täältä.
Aloita painamalla Generate, liikuttele samalla hiirtö iikkunan päällä jottta asia hoituu nopeemmin, ainakin näin oli aikasemmissa versioissa.













Kun generointi on valmis tallenna private key -> Save private key
Siirrä ssh:lla avain (avain.ppk) kansioon .ssh.





















Kansion sisältö on kutakuinkin tämän näköinen:

Aja  komento linuksi konsolissa kansiossa .ssh jossa on myös oma avaimesi.
Komento: ssh -i ~/.ssh/salainen.ppk hallikainen.cc (hallikainen.cc tilalla oma omaini tai jokin muu käypä nimi).
Ohjelma kysy oman käyttäjäsi salasanaa kun viet avainta, eli linux koneen salasanaa.

keskiviikkona, joulukuuta 17, 2014

Erityinen ongelma Raspberry Pi:llä

Eli jos kuvakkeet puuttuu ohjelmasta joka on koodattu QT:llä Raspberylle. Laita pro tiedostoon jossa esitellään qrc tiedosto. Eli yksinkertainen ./images.qrc, jolloin kuvien pitäisi tulla mukaan ohjelmaan.

tiistaina, joulukuuta 16, 2014

Oman GIT:n asetukset ja asennus

Kun omistan oman palvelimen kuten jo varmaan moni tietääkin siitä ja myös myyn tilaa sitä tarvitseville huokeeseen hintaan. Mutta joka tapauksessa tuli asennettua GIT version hallinta ohjelmisto palvelimelle.
Käytän tähän konsolia tai sitten graaffista ohjelmaa SourceTree:tä.(Löydät sen täältä).
Mutta sitten siis asetuksiin SourceTreessä
Eli tarvitset käyttää ssh://username@hallikainen.cc/home/hallikaine/ja_git_polku
Git:n asennus oli todella yksikertaista. Eli komennolla: yum install git

PS. Eli tarjoan web-hotellin ohella myös git palvelun ;), ja tietenkin samaan hintaan.

maanantaina, joulukuuta 15, 2014

Mysql säätöä

Eli ongelmana oli phpmyadminin salasanan vaihto joka sijaitsee mysql taulussa.
Aluksi kirjaudu sisään mysql:n. mysql -uroot -psalasana.
Kun olet päässyt sisälle vaitse taulu komennolla use mysql.
mysql> user set password=PASSWORD("uusisalasanasi") where User='root';

sunnuntaina, joulukuuta 14, 2014

Fail2Ban&CentOS 7

Rupeeko ainaiset hyökkäykset ärsyttämään. Fail2Ban on hyvä ratkaisu tähän ongelmaan.



Lataa ensin paketti fedora-projektista. Paketti epel-release-*.
Saat yhden uusimmista täältä.
Vois kokeilla käynnistää komennolla service fail2ban-server. Luultavammin myöskään fail2ban start komento kanssa ei toimi. Jos ohjelma ei käyynnisty aja komento systemctl --system daemon-reload. Tämä komento lataa systemd daemonit.
Ehkä jossain vaiheessa kirjoittelen lisää tästä tehokkaasta työkaluista :)

maanantaina, joulukuuta 08, 2014

GCC:n päivitys Raspberry Pi:ssä

Eli kun olin kääntämässä softaa niin käännös kaatu erikoiseen ilmoitukseen: In file included from mainwindow.h:53:0,
from main.cpp:24:
sync_cloud.h:44:31: sorry, unimplemented: non-static data member initializers
make: *** [main.o] Error 1.
Ongelmaan on yksinkertainen ratkaisu eli päivitä GCC 4.7:n.

Aja komento: sudo apt-get install gcc-4.7 g++-4.7.
Tämän jälkeen aja komento: sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6.
Tämän jälkeen komento: sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7.
Viimeiseksi aja komento jolla valitaan oletus kääntäjä eli komento: sudo update-alternatives --config gcc.
Minun tapauksessani se oli 2 ja paina enter.

sunnuntaina, marraskuuta 23, 2014

VNC server Raspberry Pi:n

Tuli eteeni  tarve saada etätyöpöytä. Asennus on aika helppo.
Eli ensin asennat paketin: sudo apt-get install tightvncserver.
Tämän jälkeen komennolla: tightvncserver saat asetettua salasanan.

Sitten on vuorossa käynnistys scriptin teko kansioon /etc/init.d
Aja komento: sudo nano vncboot.
Lisää seuraava sisältö siihen:
#!/bin/sh ### BEGIN INIT INFO # Provides:          vnc # Should-Start:      $all # Should-Stop:       $all # Default-Start:     2 3 4 5 # Default-Stop:      0 1 6 # Short-Description: Start/stop tightvncserver # Description:       Start/stop tightvncserver ### END INIT INFO # /etc/init.d/tightvncserver case "$1" in         start)                 su pi -c '/usr/bin/tightvncserver :1 -geometry 1280x800 -depth 24'                 echo "Starting TightVNC Server for $VNCUSER "                 ;;         stop)                 pkill Xtightvnc                 echo "TightVNC Server stopped"                 ;;         *)                 echo "Usage: /etc/init.d/tightvncserver {start|stop}"                 exit 1                 ;; esac exit 0
Lataa valmis scripti tästä.
Tallenna ja sulje.
Aja komento: sudo chmod 755 vncboot.
Tämän jälkeen aja komento: sudo update-rc.d vncboot defaults.
Jos saat oheisen virheen:
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'mathkernel' missing LSB tags and overrides
Poista paketti komennolla: sudo apt-get remove wolfram-engine
Tämän jälkeen aja komento uudestaan: sudo update-rc.d vncboot defaults.
Sitten joko boottia koneelle ja kokeilemaan tai sammuta prosessi ja käynnistä uudelleen se.
Komennot sudo service vncboot stop ja tämän jälkeen sudo service vncboot start.
Niiin ja kyseinen osoite on siis ip:1

torstaina, marraskuuta 13, 2014

Ylävalikon korjaus Joomla 3:ssa

Jälleen Joomla 3 aiheinen blogi. Eli törmäsin siihen ongelmaan että ylävalikko ei toiminut vaikka luokan liitteeksi laittoi nav-pills. Mutta siltikään valikko ei toiminut.
Tästä johdosta joudut puukottamaan seuraavaa tiedostoa, eli lisäämään yhden välilyönnin lähdekoodiin eli polku on seuraava: "joomlan juuri"->modules->mod_menu->tmpl.
Täällä avaat tiedoston default.php:n.
Muokkaat sitä seuraavanlaiseksi eli etsit rivin jossa lukee:




Eli tähän väliin lyöt välilyönnin:

keskiviikkona, marraskuuta 12, 2014

Docman2PhocaDownload

Eli Hyper kalliin tiedostojen hallinnan tilalle ajattelin ilmaista opensource ohjelmaa eli Phoca Downloadia. Aikasemmin Docman makso 15€, Nyt jos haluaa useammalle domainille eli vähintää kahdelle se mansaa 99$ vuodessa. Ihan törkeen kallis. Joten miten siirtää entiset tiedostot uuteen ohjlemaan.
Aluksi lataa viimeisin versio docman2phoca java sovelluksesta. Seuraavaksi suorita sovellus vaikka tuplaklikkaamalla tiedostoa.
Seuraavaksi aseta tarvittavat tiedot, käyttäjä, salasana, ip ja tietokanta josta haetaan.
Tämän jälkeen paina yhdistä nappia jos kaikki on ok, niin viereinen ruutu muuttuu vaaleaksi.




Elä unohta kohde taulun _ viivaa kuten minä tein. No asia on nopeesti korjattuna Notepad++:lla :).


tiistaina, marraskuuta 11, 2014

Multicraft ja Feed-The-Beast Monster paketti

Törmäsin tässä taannoin kun jouduin serverin asentamaan uusiksi, niin siihen että Multicraft ei antanut tarpeeksi muistia. Eli vaikka serverille on määrättynä aloitus muistiksi 1024mt ja lopulliseksi 2048mt. Tästä syystä tuli seuraavanlainen virhe ilmoitus ja serveri kävi päällä vain hetken jonka jälkeen se kaatu. Eli errori: Encountered an unexpected exception OutOfMemoryError java.lang.OutOfMemoryError: PermGen space.
Ratkaisuna tähän on seuraava, eli asetat serverin käynnistykseen: command = "{JAVA}" -Xmx{MAX_MEMORY}M -Xms{START_MEMORY}M -XX:PermSize=256M -XX:MaxPermSize=512M -Djline.terminal=jline.UnsupportedTerminal -jar "{JAR}" nogui.
Ohessa tiedosto miten se tehdään.

[config]
name = FTB Monster
source = https://s3.amazonaws.com/Minecraft.Download/versions/1.7.4/minecraft_server.1.7.4.jar
configSource = http://www.multicraft.org/download/conf/?file=minecraft_server.jar.conf

[start]
command = "{JAVA}" -Xmx{MAX_MEMORY}M -Xms{START_MEMORY}M -XX:PermSize=256M -XX:MaxPermSize=512M -Djline.terminal=jline.UnsupportedTerminal -jar "{JAR}" nogui

[encoding]
encode = system
decode = system

[settings]
logFile = server.log
## Uncomment the following to rotate the log at 20MB
#logRotateSize = 20971520
## Keep 5 log files
logBackupCount = 5
## Check the log size every 60 seconds
logRotateCheckInterval = 60000
## Copy instead of move log to log.1, vanilla Minecraft requires this
logPersistent = True



[parse_log]
start=^(?P

Tiedosto päättyy.
Saat myös ladattua valmiin asetus tiedoston tästä, mukana myös mcpc paketti 1.6.4 FTB:lle esim.

perjantaina, marraskuuta 07, 2014

Linuxin käynnistys scriptin teko

Tässä hieman koodaus ohjeita:
Aluksi luodaan ohjelmaa varten kansioon /etc/init.d tiedosto joka kuvaa ohjelman nimeä. Käytän tässä nimeä multicraft.
Luodaan vaikka nano multicraft komennolla tiedosto.
Aluksi lisätään tiedostoon #!/bin/bash
Kommentteja voidaa lisätä #-merkki eteen ja sitten kommentti
Toiselle riville voidaan määritellä seuraavaa, eli funktiot joita käynnistys scripti käyttää mm. start, stop.
Eli rivi . /etc/rc.d/init.d/functions. Pisteen ja /-merkin välillä tulee olla välilyönti.
Seuraavaksi lisätään oheinen tieto:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin (tarvittavat polut)
DESC="Multicraft Server"         (Tietoja ohjelmasta esim.)
DIR=/home/minecraft/multicraft/bin    (kansio jossa ohjelma on)
DAEMON=$DIR/multicraft -v start     (käynnistys parametri ohjelmalle+itse ohjelman "exe")
#PIDFILE=/var/run/$NAME.pid          (Tämä ei ole pakollinen, osa ali scripteistä mitä ohjelmassa on tekevät tämä, jos ei tee niin silloin pitää lisätä tämä myös. Omassa tapauksessa ohjelma lisää sen itse.
SCRIPTNAME=/etc/init.d/$NAME   (scriptin nimi kansiossa jossa olet eli /etc/init.d, tiedosto jota parhaillaan editoit)

Seuraavaksi scriptiin lisätään seuraavat komennot
start()
{
cd $DIR
./multicraft -v start #eli ohjelma joka käynnistetään

}
stop(){
cd $DIR

./multicraft -v stop #ohjelma joka sammutetaan
}
restart(){
stop    #uudelleen käynnistys, ensin ajetaan sammutus ja se jälkeen käynnistys
start

}

Tämä esimerkki oli vain sitä varten miten käynnistetään ohjelma joka ei ole yhteensopiva suoraan käytettynä. Eli sh scripti oli vain suoritusta varten, mutta hyväksyi myös parametrin stop. Tulen tekemään myös ohjeen siitä miten ohjelmoida CentOS 7:n sopiva käynnistys scripti.

Työpöydän tallennus RaspBerry Pi:ssä

Jälleen RaspBerry Pi aiheinen kirjoitus. Aluksi on asennettava paketit: sudo apt-get install recordmydesktop gtk-recordmydesktop paketit.

Tosin jostain syystä video tulee pinkkinä, johtuen nähtävästi thoera kodekista joka on Raspberyssä.

(Kuvan kaappaus otettu Ubuntussa)

Yksinkertainen Javan asennus CentOS 7:n

Mene kansioon: cd /opt/.
Aja komento konsolissa: wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz"
Tämän jälkeen pura kansio komennolla: tar xzf jdk-7u67-linux-i586.tar.gz
Voit myös halutessasi ladata uudemman version.
Tämän jälkeen aja komento: 
Mene kansioon: cd /opt/jdk1.7.0_67/.
Aja komento: alternatives --install /usr/bin/java java /opt/jdk1.7.0_67/bin/java 2 
Tämän jälkeen ajetaan komento oletus Javan asettamiseksi: alternatives --config java.
Java version tarkistus konsolissa: java -version.

Sitten asetetaan järjestelmä muuttujat: 
JAVA_HOME muuttuja:
export JAVA_HOME=/opt/jdk1.7.0_67
JRE_HOME muuttuja:
export JRE_HOME=/opt/jdk1.7.0_67/jre
PATH (polku)
export PATH=$PATH:/opt/jdk1.7.0_67/bin:/opt/jdk1.7.0_67/jre/bin

tiistaina, marraskuuta 04, 2014

Centos 7 ja VNC serveri

Hieman muutoksia on tullut kyseiseen versioon, eli asennus ei enää tapahdu kuten ennen, ja josta kirjoitin aikasemmin tässä blogissa. Tämä ohje toimii vielä CentOS 6.6:ssa.
Mutta asiaan. Ensiksi asennetaan serveri komponentti ellei sitä ole jo asennettuna. Käytössäni olis CentOS 7 työpöytä versio eli ei siis serveri.
Paketin asennus: yum install tigervnc-server (täytyy olla root käyttäjänä, mene tähän tilaan joko su komennolla omassa päätteessä tai sitten kirjaudut ihan root käyttäjänä).
Seuraavaksi ajetaan komento: cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service.
Tämän jälkeen mennään tiedostoa muokkaamaan eli komento tähän: nano /etc/systemd/system/vncserver@:1.service.
Mutta jos haluat lisätä jollekkin muulle käyttäjälle vnc etätyöpöydän, niin aja komento adduser ja_käyttäjä.
Sitten tuon tiedoston sisältöön se näyttää kutakuinkin tältä:











Nuo kohdat jossa on punaista tulee laittaa käyttäjänimi jolle haluat etätyöpöydän, omassa tapauksessa tein root käyttäjälle, eli se näyttää tältä:










Seuraavaksi laitetaan kuntoon palomuurin asetukset, komento tälle on: firewall-cmd --permanent --zone=public --add-service vnc-server
Ja asetuksian uudelleen lataus: firewall-cmd --reload.
Seuraavaksi ajetaan komento: vncserver, jolla asetetaan salasana VNC:lle.










Seuraavaksi aja komento: systemctl daemon-reload. Jotta ohjelma käynnistyy bootin jälkeenkin,
aja komento: systemctl enable vncserver@:1.service.
Tämän jälkeen voit halutettasi bootata serverin tai koneen. 















Resoluution muuttaminen:

maanantaina, marraskuuta 03, 2014

Teamspeakin asennus CentOSiin

Tuli muutama tunti taisteltua Teamspeakin takia, että päätin tehdä lyhyen ohjeen miten asentaa ja konfiguroida se (Kaikki komennot ajetaan root tilassa).
Aluksi ajetaan ladataan paketti komennolla: wget http://ftp.4players.de/pub/hosted/ts3/releases/3.0.10.3/teamspeak3-server_linux-amd64-3.0.10.3.tar.gz
Seuraavaksi puramme sen: tar xzf teamspeak3-server_linux-amd64-3.0.10.3.tar.gz
Sitten lisätään käyttäjä: adduser teamspeak3
Seuraavaksi pitää ajaa komento: usermod -s /sbin/nologin teamspeak3
Siirretään kansioon: mv teamspeak3-server_linux-amd64 /usr/local/teamspeak3
Anna oikeudet komennolla: chown -R teamspeak3 /usr/local/teamspeak3
Seuraavaksi kopioi tämä tiedosto kansioon /etc/init.d. (Muokkaa tarvittaessa polut)
Tämän jälkeen aja komento: chkconfig --levels 235 teamspeak3 on.
Tämän jälkeen voidaan käynnistää prosessi komennolla: service teamspeak3 start.
Kun ohjelma käynnistyy, tulee seuraavanlaise tekstit:


Mutta tätä ennen on hyvä konfiguroida.
Oletus tiedostossa on seuraavat:
# Example: The TSDNS server runs on on a box reachable as both as
# "teamspeak.com" and as "teamspeak-systems.de"
# So we might configure:
#public.teamspeak.com=12.13.14.15:10000
#test.teamspeak.com=12.13.14.15:12000
#private.teamspeak.com=12.13.14.15:14000
#voice.teamspeak.com=NORESPONSE
#*.teamspeak-systems.de=1.2.3.4:15000
#*=12.13.14.15:$PORT
Käyttämäni asetukset ovat:
machine_id=
default_voice_port=9987
voice_ip=0.0.0.0
licensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10011
query_ip=0.0.0.0
dbplugin=ts3db_sqlite3
dbpluginparameter=
dbsqlpath=sql/
dbsqlcreatepath=create_sqlite/
logpath=logs
logquerycommands=1
Ei muuta kuin kokeilemaan... En vastaa mahdollisita bugeista käynnistys scriptissä ;)

torstaina, lokakuuta 16, 2014

Directadmin säätöä ja uusi PHP

Tuli vastaan seuraava ongelma, eli kun yritin päivitää php 5.4.27 -> 5.4.33:n, niin sain seuraavan errorin kesken buildin: There was an error while trying to configure php. Check the configure/suphp/ configure.php5 file.
Mene ensin kansioon cd /usr/local/directadmin/custombuild. Tämän jälkeen aja komento: nano options.conf.
Editoi seuraavat rivit eli alakohdasta new version of zlib and libxml2 (experts only).
Eli tämän jälkeen kirjoita yes sanan tilalle no.
Tämän jälkeen sulje tiedosto ja aja komento: ./build zlib
Kun se on valmis aja komento: ./build libxml2.
Tämän jälkeen ./build libxslt.
Viimeisenä suphp komennolla ./build suphp.
Tämän jälkeen pitäisi PHP:n asentua moitteettomasti komennolla: ./build php n.

lauantaina, lokakuuta 11, 2014

VirtualBox ja mount vboxsf

Eli lyhyehkö opas siitä miten tehdään windows koneesta levy jako virtualboxiin. Aluksi luo kansio jonnekkin windowsissa jonka haluat jakaa. Tässä esimerkissä temp2. Lisää VirtualBoxissa Shared Folder kohdasa kansio mountattavaksi, kuten alla olevassa kuvassa.
Voit myös säätää oikeudet, esim. onko kirjoitus oikeutta windows jakoon.






Seuraavaksi tee Linux koneeseen temp2 kansio.
Tämän jälkeen pitää ajaa kuvan mukainen komento: sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) temp2 ~/temp2

Tämän jälkeen kaiken pitäisi olla valmista.


sunnuntaina, lokakuuta 05, 2014

Bonding säätäminen CentOS 6.5:ssä

Aluksi editoi tiedostoa bonding.conf komennolla: nano /etc/modprobe.d/bonding.conf.
Muokkaa tiedostoa seuraavanlaiseksi:
alias bond0 bonding
options bond0 mode=active-backup miimon=100 downdelay=200 updelay=200
Muista rivin vaihto...

Sitten luo tiedosto ifcfg-bond0 kansioon komennolla: nano /etc/sysconfig/network-scripts/ifcfg-bond0
Lisää sinne sisältö:
DEVICE=bond0
IPADDR=192.168.1.13
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS2=193.229.0.42
DNS1=193.229.0.40
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no

Tallenna muutokset.

Seuraavaksi ruetaan säätämään verkkokortteja.
Eli aluksi vaikka eth0 komennolla: nano /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=00:09:6B:71:64:72  
BOOTPROTO=none
MASTER=bond0
USERCTL=no
ONBOOT=yes
SLAVE=yes
DEVICE=eth0
IPV6INIT=no
NM_CONTROLLED=no

Tallenna muutokset

Seuraavaksi komento: nano /etc/sysconfig/network-scripts/ifcfg-eth1
Ja tämän sisältö:
HWADDR=00:09:6B:71:64:73 
BOOTPROTO=none
MASTER=bond0
USERCTL=no
ONBOOT=yes
SLAVE=yes
DEVICE=eth1
NM_CONTROLLED=no

Tallenna muutokset
Aja komento modprobe bonding, niin tällä pitäisi bond lähteä toimimaan. Ja käynnistä verkko uudestaan komennolla: service network restart
Testaa yhteys: cat /proc/net/bonding/bond0
Esimerkki tiedostot löydät täältä.

QtCreator ja Android paketin allekirjoitus

Eli avaa ensin projekti lehti.













Sitten klikkaat Create nappia.












Tulisi avautua seuraavanlainen ikkuna:
Kirjoita kaikkiin kenttiin tarvittavat tiedot.
Huom. Elä unohda salasanaa. Tulee joka kerta kun käännät paketin laittaa ruksi ruutuun Sign package.






Huom. Ruksaa aina kun aloitat kääntämisen kohta Sign package. Kysyy antamaasi salasanaa.




Kun on valmista sertifikaatti tulee näkyviin... Tai sen alias thb minun tapauksessani

maanantaina, syyskuuta 29, 2014

Gitin käyttäminen konsolissa

Aluksi pitää olla kansiossa jossa on .git kansio.
Kun ollaan siinä kansiossa voidaan katsoa ensiksi vaikka projekti haaran tilanne komennolla git status.
Jos on jotain joka on muuttunut tai uutta, se näkyy eri värillä.











Nämä tiedot voi lisätä haaraan komennolla git add
Tämän jälkeen pitää committaa tiedot komennolla git commit -a
Tämän jälkeen aukeaa nanossa dokumentti jossa on paljon tekstiä, kirjota jotain ensimmäiselle riville, eli vaikka mitä muutos koskee. Poistu nano:sta näppäinyhdistelmällä CTRL+X ja vastaa Y tai K.
Tämän jälkeen onkin vuorossa lataus varsinaiseen repository palvelimeen. Eli aja komento git push.
Komennolla git pull lataat repostory palvelimesta viimeisimmät "sorsat" eli lähdekoodit.