keskiviikko 21. lokakuuta 2015

Backup your home server to usb hdd

I needed to take backup of my server and wanted to take whole disk. I found this useful tool called dd packed out of the box in linux debian server.

Check which one you want to put in image file: sudo fdisk -l


Here we can see that I have /dev/sda as my main partition. Then to backup it on usb HDD find where your usb device is located. Usually it is under /media

Then just give simple DD command:

sudo dd if=/dev/sda of=/media/usb0/backup.img

This will create .img file as big as your hard drive is, so for example my dev/sda is 120gb so it will create 120gb .img file. So make sure your usb hdd has enough free disk space.

Second thing to note is that the program will run as long as it takes, for example 160gb hdd backup took 80 minutes for me. You need to leave the terminal open for that time. You can monitor the progress by checking the file size with: ls -l /media/usb0/ and spamming that command you can see how big the file is. There is no verbose option as far as I know.

tiistai 9. kesäkuuta 2015

Testlink for testcase management

To get TestLink to work, do virtualhost file which allows override.

<VirtualHost *:8010>

        ServerAdmin Niki
        ServerName testlink
        ServerAlias testlink
        DocumentRoot /home/shnigi/public_html/testlink/

        <Directory /home/shnigi/public_html/testlink/>
                Options Indexes FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>

</VirtualHost>

maanantai 8. kesäkuuta 2015

Frontend stuff Node.js, NPM, Bower & Gulp

NodeJS


On the latest version of Ubuntu, you can simply:

sudo apt-get install nodejs nodejs-dev npm which will install nodejs and npm to your computer.

Create new folder to play with. CD to that folder

Create file named: "hello_node.js"

insert:

// hello_node.js
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Node.js\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');

Run the command by typing node hello_node.js in your terminal and leave it open.

Now, if you navigate to http://127.0.0.1:8124/ in your browser, you should see the helloworld message.


Bower init & NPM init


Install bower and gulp globally with command:

npm install -g bower
npm install -g gulp

Now we have bower and gulp globally installed. Make a new folder for your project and go in to that folder. Then do

npm init

Which will launch generator for package.json. When you have set all stuff correctly accept it. Now you can use

npm install command which will install all the required modules. To get more modules do

npm install bower --save-dev which will install bower to your project and --save-dev will put bower to package.json file as dev dependency. You can also use bare --save which will then appear as dependency. 

After you have install bower, run command bower init which will trigger bower.json file to be created. Now you can install bower components by running command bower install bootstrap --save which will install bootstrap under bower components folder. 


Flags --save means that the module is a dependecy for your project. Without that, it can't work. Or may work but not correctly. Setting flag --save-dev means that the module is critical for developer but not necessary in production version.



Gulp


Gulp is meant to automate and enhance you workflow. You can basically set tasks for gulp and it will do all the things for you automatically. First add some dev dependencies for our project.

$ npm install gulp-ruby-sass gulp-autoprefixer gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-rename gulp-livereload gulp-cache del --save-dev

Then create empty file named gulpfile.js

And now for the lazy part. Head over here to read about the gulpfile. Very well explained: http://www.sitepoint.com/introduction-gulp-js/

torstai 7. toukokuuta 2015

SSH Git-repository

On ssh-server install git:

$ sudo apt-get install git
Create empty folder for git:
$mkdir gitkansio && cd gitkansio
Initialize git repository
$git --bare init

On local machine:

Create Git folder with Git:
$mkdir gittest && cd gittest
$sudo apt-get install git
$git init
Create some files
$ echo "lol" >> test.txt
Commit to Git
$git add .
$git commit -m "testing git"
Add remote repository
$git remote add origin ssh://username@server.com:1234/home/user/gitkansio
Push to remote
$git push origin master
$ git branch --set-upstream master origin/master

Clone the repository:
$ git clone ssh://gitmies@www.nikiahlskog.com:4242/home/gitmies/gitkansio

to remove: $ git remote rm origin

Check remotes with command: git remote -v 
Set new remote: git remote set-url origin ssh://gitman@365rent.fi:2222/home/gitman/365rentrepo

keskiviikko 6. toukokuuta 2015

Development mode on with LAMP

I was wondering how to setup development mode on with LAMP.

What you have to do is to set in /etc/apache2/ports.con this: Listen 127.0.0.1:80
That means, only localhost can access apache and no one else can see it.

Second thing, setup php development mode on by editing file /etc/php5/apache2/php.ini and set display_errors = On from Off value.

Create apache benchmark logs

ab -n 100 -c 20 http://localhost/ > benchmarklog-$(date +\%d\%m\%y).txt

ab -n 100 -c 20 http://localhost/ > /home/shnigi/public_html/ablogs/log-$(date +\%d\%m\%y).txt

tiistai 28. huhtikuuta 2015

Backup Wordpress Database

This should get a full backup of your database including users.
mysqldump --routines --flush-privileges --databases DBNAME > /home/USERNAME/dump-$(date +\%d\%m\%y).sql -u root -pPASSWORD


Then just add the database to your new server and remember to get wp-config.php file also.