Archive for the ‘IDE’ Category

Setup Virtual Hosts on Ubuntu/Debian using Apache2 + MySQL5.X + PHP5

By Automater on May 21st, 2010

This entire tutorial is done after entering the ’sudo -i’ command which allows us to act as the SUPER-USER for the entirety of our terminal session.

1
sudo -i

1) Install the required modules from the command line

1
apt-get install apache2 mysql-server mysql-client php5 php5-cli php5-mysql

2) Change the directory to /etc/apache2/sites-available

1
cd /etc/apache2/sites-available

3) If you run the ‘ls’ command while in the sites-available directory you should see the following

1
ls

Output

1
default  default-ssl

4) Copy the ‘default’ config to a site specific config. For this tutorial I am using dev.scottfaisal.com.

1
cp default dev.scottfaisal.com.conf

5) Make the application directory

1
mkdir /var/dev.scottfaisal.com

6) Open the file with an editor of your choosing. I prefer NANO.

1
nano dev.scottfaisal.com.conf

The output below is the entire file but I will discuss certain parts that we will need to edit.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
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>

7) Add the name of the server. This will be the name that you type in the URL field of your web browser (IE: Firefox)

1
2
3
4
5
6
7
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName dev.scottfaisal.com
...

8 ) Point the Virtual host to the correct directory

1
2
3
4
5
6
7
8
9
10
11
12
13
...
DocumentRoot /var/dev.scottfaisal.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
...

9) Also make the change here.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
<Directory /var/dev.scottfaisal.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
...

10) So this is what your dev.scottfaisal.com.conf file should look like when you are done. Write/Quite the file and we will move on.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName dev.scottfaisal.com

DocumentRoot /var/dev.scottfaisal.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/dev.scottfaisal.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
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>

10a) IMPORTANT! Make a symbolic link in the sites-enabled directory

1
ln -s /etc/apache2/sites-available/dev.scottfaisal.com.conf /etc/apache2/sites-enabled/000-dev.scottfaisal.com.conf

11) We need to edit our /etc/hosts file

1
nano /etc/hosts

Output

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
127.0.0.1       localhost
127.0.1.1       servername

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

12) Right beneath the ‘localhost’ definition, add the following

1
127.0.0.1      dev.scottfaisal.com

13) The complete file looks like this.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
127.0.0.1       localhost
127.0.0.1       dev.scottfaisal.com
127.0.1.1       servername

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

14) Create an index.php file in /var/dev.scottfaisal.com for testing purposes.

1
nano /var/dev.scottfaisal.com/index.php

Contents of .php file.

1
2
3
4
5
6
7
8
9
<?php

echo 'This is a test!!!!';
phpinfo();

?>

15) Reboot the apache2 process.

1
/etc/init.d/apache2 restart

16) Now open up your web browser and enter dev.scottfaisal.com into the URL bar and it should work!

UPDATE: I forgot to mention that in this environment, I like to configure log files for each virtual host. This is our current dev.scottfaisal.com file.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName dev.scottfaisal.com

DocumentRoot /var/dev.scottfaisal.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/dev.scottfaisal.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
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>

Just change the ErrorLog and CustomLog names to match the virtual host.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
ErrorLog /var/log/apache2/dev.scottfaisal.com_error.log

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

CustomLog /var/log/apache2/dev.scottfaisal.com_access.log combined
...
</VirtualHost>

Installing the latest NetBeans in Ubuntu

By Automater on April 10th, 2010

First you have to install jdk by running this command in terminal

for jdk 6 (or whatever the latest version is)
sudo apt-get install sun-java6-jdk sun-java6-plugin

Then download netbeans ide from here

The downloaded file will be a sh file, most probably in your desktop

Now open the terminal(from Application->Accessories)

Then go to your desktop folder or the folder in which you have downloaded the installer file

cd /home/username/Desktop

Then run this command, the last portion of the command will be the name of the file you downloaded

sudo sh netbeans-6.8-ml-javase-linux.sh (6.8 was the latest version presently)

That’s it, your installer will start and the next processes are as usual.

More detailed instructions can be found in Netbeans Wiki page