Linux Mint Programs


















sudo add-apt-repository ppa:gezakovacs/ppa -y
sudo apt-get update
sudo apt-get install unetbootin -y
sudo add-apt-repository ppa:gezakovacs/ppa -y
sudo apt-get update
sudo apt-get install unetbootin -y

Preview function on panel icons accidentally disabled

Open System Settings in the main menu, go to Preferences, Applets, Window list, click on the gear icon on the right and in Display, enable “Show window thumbnails on hover”.

Install Metamorphose 2

This is the most advanced of all available bulk renamers. Metamorphose 2 binaries for Linux (deb and rpm) and Windows are available on SourceForge.

Because these binaries are pretty old (2011), you can grab the latest version source (which dates to August, 2015) from GitHub.

Ubuntu 15.10 and newer users can install the latest Metamorphose 2 by using the main WebUpd8 PPA:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install metamorphose2

How to install Ubuntu server 16.04 and the Webmin GUI

If you need to add Linux to your data center, consider giving Ubuntu server a try. Follow these steps to install Ubuntu server 16.04 and the Webmin GUI admin tool.

Chances are, you have to look to open source to power some aspect of your business. If that aspect happens to be a server in the backend of your workflow, you’re in luck because there are a number of solid choices. One such choice is Ubuntu.

Many believe Ubuntu is only a desktop distribution, but they’re wrong. Ubuntu also comes in a very powerful server flavor that is well suited to aid you in the expansion of your company’s data center.

If you’ve never installed a Linux server, you might be surprised to learn that it’s quite easy. Although some distributions do not offer a fancy GUI-based installer for their servers, even the NCURSES installers make the task simple.

I’ll walk you through the process of installing a Ubuntu server. I hit the important steps of the process and offer screenshots where necessary, so that you can have a Linux server up and running in no time. We’ll also add the Webmin admin GUI to make managing your Ubuntu server much, much easier.

For this installation, I use VirtualBox running on an Elementary OS Freya host to install a guest Ubuntu 16.04. As I mentioned, the process is completely NCURSES.

How to Create phpinfo File and Check PHP Information

If you’re looking for a way to check your website’s PHP configuration, also known as phpinfo, you’ve come to the right place. For example, you might want to check whether your PHP configurations meet the requirements of any software you want to run on your server.

In this tutorial, we’ll show you how to create a phpinfo file and also how to check its detailed information using the tools provided in your hosting control panel. So, let’s get to it!

Checking PHP Information Using Hosting Control Panel

In this guide, we’ll be using Hostinger’s hPanel, where you can easily check your PHP information using the PHP Info tool. Once you’re logged in, scroll down and go to Advanced -> PHP Info.

You’ll then be forwarded to a page with detailed information about your current PHP version, modules, and values, etc. Scroll down to browse for more.

If you wish to find data about a specific module or function, you can use the CTRL + F (CMD + F for macOS) shortcut to open the search feature within your browser.

Checking PHP Information by Creating a phpinfo File

In case your hosting platform doesn’t offer the mentioned built-in PHP Info feature, there is no need to worry! You can reach the same goal by creating a phpinfo file in your public_html directory.

The file will be accessible via a browser and will show you the same detailed information.

You will need a way to access your public_html files. Here we’re using Hostinger’s File Manager as an example.

  1. Navigate to File Manager under the Files section in your hPanel.
  2. Once you’re in public_html directory, click the New File button.
  3. Name your file phpinfo.php and press Create.
  4. Scroll down and locate the new phpinfo file within the directory, then right-click to Edit.
  5. Now, copy and paste the following code into the text editor and press Save.
<?php phpinfo(); ?>

The same result can be achieved by using any text editor on your computer. Create the phpinfo.php file by following the same steps from before, then uploading the file to your server’s public_html folder through an FTP client.

If you don’t know how to configure or never worked with an FTP client, such as FileZilla, refer to our guide for more information.

Checking PHP Information Using a Browser

You should have a phpinfo.php file in your public_html directory by now. So, all that’s left is to access the file by adding /phpinfo.php at the end of your domain name.

You should see a similar view when the file is accessed via any browser:

Note: If you don’t want your phpinfo page to be displayed all the time, you can easily disable the file by giving it a different name. phpinfo.php_disabled, for instance.


There you have it! By finishing this tutorial, you’ve learned how to create a phpinfo.php file and how to check PHP information via your hosting control panel or your default browser. That was pretty easy, right?

Configuring the PHP Development Environment in Linux Ubuntu

This tutorial shows how to configure the PHP development environment in the Ubuntu operating system (7.10 and later). This involves installing and configuring the PHP engine, a MySQL database, an Apache web server, and the XDebug debugger.

his tutorial shows how to configure the PHP development environment in Ubuntu 7.04 and later. You need to:

  1. Install the Apache2 HTTP server, the PHP5 engine, the MySQL 5.0 database server, and the PHP5-MySQL module. These packages can be installed together as the LAMP stack, or they can be installed separately.
  2. Specify the Document Root for the Apache2 HTTP server
  3. Configure the MySQL database server
  4. Install and enable the XDebug 2.0 debugger

See the Ubuntu community for more information on installing Apache, MySQL, and PHP.

Installing the Software Packages Together

Ubuntu provides a Linux AMP (LAMP) package that contains all the necessary packages for your PHP environment. You can install the software by executing the following command at the command prompt in the Terminal window:

sudo tasksel install lamp-server

The lamp-server package includes the most suitable version of PHP, Apache 2, MySQL, and PHP5-MySQL.

Installing the Software Packages Separately

Instead of installing the entire set of LAMP packages, you can also install the packages individually. This is useful if you already have installed one of the components, such as the Apache server or MySQL database server. You can use command-line tools or the Synaptic Package Manager GUI.

The individual packages to install are the following:

  • apache2
  • php5
  • mysql-server
  • php5-mysql

Checking the Installation

After you set up your PHP web stack, check that it is installed correctly and that your Apache server recognizes your PHP engine.

To check that Apache and PHP are installed and running, open NetBeans IDE and create a PHP project. In the index.php file, enter the PHP method phpinfo(). Run the file. The standard PHP information page should display.


The following are some frequently encountered problems when checking the installation of your PHP stack in Ubuntu:

  • The browser window displays a Not Found error for ~USER/PROJECT/index.php. Remove the ~USER string from the URL. For example, if this error appears for the URL ~ubuntu/test1/index.php, change the URL to test1/index.php. Note that you can set the URL for a PHP project in NetBeans IDE either when you create the project, or by right-clicking the project node and going to Properties > Run Configuration.
  • The browser shows you a popup asking you to open the file, as if the PHP engine is not recognized. There’s a problem with your php5-common package. Replace it with php5 and phpmyadmin. To replace php5-common, run the following two commands:
apt-get --purge remove php5-common
 apt-get install php5 phpmyadmin

Specifying the Document Root for the Apache2 HTTP Server

The Document Root is the directory where the Apache HTTP server takes files for displaying in the browser. The Document Root is specified in the file that defines your virtual host. The default virtual host configuration file is


with the document root


We recommend that you create your own virtual host and enable it instead of editing the default one.

Creating the Document Root Location

  1. Choose Places > Home Folder.
  2. From the context menu, choose Create Folder.
  3. Enter the name of the folder, for example, public_html.

Creating a New Virtual Host

  1. To launch the Terminal, choose Applications>Accessories>Terminal. The Terminal window opens.
  2. To copy the configuration file of the default virtual host to a new file (mysite), type the following command at the command prompt:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite

3. Run the gedit application and edit the new configuration file (mysite) in it:

gksudo gedit /etc/apache2/sites-available/mysite 

If asked, enter the password that you specified for the root user during the installation of your operating system.

4. Change the Document Root to point to the new location:


5. Change the Directory directive, replace

<Directory /var/www/>


<Directory /home/user/public_html/>

6. Save the file mysite

Activating the New Virtual Host

  1. To deactivate the default host and activate the new host, launch the Terminal and run the following two utilities in the Terminal window: sudo a2dissite default && sudo a2ensite mysite
  2. Restart the Apache HTTP server: sudo /etc/init.d/apache2 reload

Configuring the MySQL Database Server

During the installation of the MySQL database server, a root user is created. A dialog opens during installation in which you set a root user password. If this dialog did not open, or you did not set a password in this dialog, you need to create a MySQL root user password now. You will need the password for creating other MySQL server users.

  1. To connect to the MySQL server, launch the Terminal and in the Terminal window enter the following command: mysql -u root -p The MySQL command prompt appears.
  2. At the command prompt enter the following command and press Enter: SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘<yourpassword>’); If the command is executed successfully, the following message is displayed: Query OK, 0 rows affected (0.00 sec)

Πώς να δημιουργήσετε Virtual Hosts στον Apache σε Debian 8

Το Virtual Hosting είναι ένας τρόπος hosting πολλών διαφορετικών domain names σε έναν φυσικό server . Επιτρέπει το μοίρασμα των πόρων του φυσικού server πχ cpu , ram ,  στα διάφορα domain names .

Παρακάτω θα φτιάξουμε ένα  setup για τα domain names , , .

Αν το apache δεν είναι εγκατεστημένο στο σύστημα σας χρησιμοποιήστε την apt -get για να το εγκαταστήσετε :

sudo apt-get update
sudo apt-get install apache2

1.Δημιουργία των directories

Αρχικά το directory  /var/www/html  είναι το default του web server  . Εμέις θέλουμε να δημιουργήσουμε ενα directory για το κάθε domain name , και για κάθε domain name , έναν φάκελο που θα έχει τα αρχεία του . : 

sudo mkdir -p /var/www/
sudo mkdir -p /var/www/ 

Τώρα δημιουργήσαμε αυτούς τους φακέλους , αλλά μόνο ο χρήστης root έχει δικαιώματα . Για να δώσουμε δικαιώματα στον απλό χρήστη χρησιμοποιούμε τις εντολές :

sudo chown -R $USER:$USER /var/www/
sudo chown -R $USER:$USER /var/www/

 Όπου user το όνομα του χρήστη στον οποίο θέλουμε να δώσουμε δικαιώματα .

2.Δημιουργία demo σελίδας σε κάθε Virtual Host

Τώρα αφου τα directories είναι έτοιμα , θα βάλουμε στον φάκελο του κάθε virtual host μια πολύ απλή σελίδα index.html . Αυτο θα βοηθήσει αργότερα όταν θα χρειαστούμε να τεστάρουμε τους virtual hosts .

sudo vi /var/www/

Το index.html θα είναι ένα πολύ απλό html page που απλά θα δείχνει ότι είμαστε στο σωστό directory .


   <title>Welcome to!</title>
   <h1>Success! The virtual host is working!</h1>

Επαναλαμβάνουμε ακριβώς την ίδια διαδικασία και για το domain name test2

sudo vi /var/www/


   <title>Welcome to!</title>
   <h1>Success! The virtual host is working!</h1>

3.Δημιουργία νέων Virtual Host files

Τα Virtual Host Files προσδιορίζουν τις ρυθμίσεις λειτουργίας των virtual host μας , και ρυθμίζουν πως θα απαντά ο server  στα αιτήματα που του γίνονται . 

Ο Apache έχει ένα default virtual host file που λέγεται 000-default.conf και μπορούμε να το χρησιμοποιήσουμε για να φτιάξουμε τα δικα μας  αρχεία .

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/

 sudo vi /etc/apache2/sites-available/

Με κάποιες μικρές διαφορές το αρχείο πρέπει να έχει την παρακάτω μορφή


<VirtualHost *:80>

       ServerAdmin webmaster@localhost
       DocumentRoot /var/www/html

       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined


Για αρχή θα αλλάξουμε το email στο πεδίο Serveradmin έτσι ώστε ο admin του server να μπορεί να δέχεται email .

Μετά , κάτω απο την γραμμή του email θα προσθέσουμε 2 νέες πεδία :



Τέλος , αλλάζουμε το πεδίο DocumentRoot ώστε να δείχνει στο directory που δημιουργήσαμε πριν , δηλαδή το :


Αποθηκεύουμε το αρχείο . Βέβαια φτιάξαμε το Virtual Host File για το domain name test1. Για το domain name test2 θα επαναλάβουμε ακριβώς την ίδια διαδικασία .

4.Ενεργοποίηση των Virtual Host files 

Ως τώρα έχουμε δημιουργήσει τα virtual host fiiles σύμφωνα με τις ανάγκες μας , αλλά ο apache δεν πρόκειται να τα χρησιμοποιήσει , αν δεν τα ενεργοποιήσουμε πρώτα .

Ενεργοποιούμε με την σειρά το καθε domain name :

 sudo a2ensite

 sudo a2ensite

Το a2ensite είναι ένα εργαλείο για την ενεργοποίηση των sites .

Αφου εκτελέσουμε τις 2 απο πάνω εντολές θα πάρουμε λογικά την ακόλουθη έξοδο :

Enabling site
To activate the new configuration, you need to run:
 service apache2 reload

Θα χρειαστεί να κάνουμε reload τον Apache , αλλά πριν γίνεται αυτό πρέπει να κάνουμε disable to 000-default.conf μιας και πλεον χρησιμοποιούμε τα δικά μας configuration files .

sudo a2dissite 000-default.conf

Τώρα είμαστε έτοιμοι να κάνουμε reload τον Apache

sudo systemctl restart apache2

5.Test των αποτελεσμάτων

 Για να είμαστε σίγουροι   ότι δεν κάναμε κάποιο λάθος , θα ανοίξουμε εναν browser , και θα δοκιμάσουμε να μπούμε στα 2 site που δημιουργήσαμε πριν , τα :

Αν δούμε το μήνυμα Sucess!The virtual host is working και στις 2 σελίδες όλα έγιναν σωστά και είμαστε έτοιμοι!

How to host multiple websites on Apache2

If Apache has been your web server of choice for years, and you’re finally migrating to Apache2, it’s time to learn a new trick: setting up multiple virtual hosts with Apache2.

If you’re a Linux system administrator, chances are you’ve worked with Apache. And if you’ve done enough Apache configuration, you’ve most likely set up virtual hosts. But if you’re finally migrating away from your old Apache-powered web platform and onto Apache2 (the version of Apache shipped with the likes of Ubuntu Server), you’ll need to change your way of thinking.

I’ll walk you through the process of hosting multiple websites (aka virtual hosts) on an Apache2-based system (in this case Ubuntu 16.04). Believe it or not, it’s simple…you just have to know what to configure and where to configure it.

I assume you already have Apache installed and, if you point your browser to the server IP (or domain), either the Apache2 welcome page or your company site will appear. Let’s add yet another site to your Apache2 server.


With Apache2, all virtual hosts are configured in individual files with /etc/apache2/sites-available. Each file will end in .conf and contain all of the details for the host. An example .conf file will look like:

Τι είναι τα VirtualHosts

Αρκετοί είναι οι χρήστες που εγκαθιστούν τον Apache Web Server στον υπολογιστή τους για να αρχίσουν να μαθαίνουν Web Development ή για να κάνουν τοπικά την παραγωγή των έργων τους. Αλλά γνωρίζουν πως να φτιάξουν VirtualHosts με XAMPP και Apache;

Το πρόβλημα με την τοπική εγκατάσταση του Apache είναι πως η προκαθορισμένη μορφή εγκατάστασης δεν επιτρέπει την δημιουργία VirtualHost* και έτσι όσοι χρήστες εγκαθιστούν νέα έργα στην προκαθορισμένη εγκατάσταση έχουν URLs της μορφής ή http://localhost/project-name/ κάτι που δεν είναι και τόσο κομψό και εύχρηστο.

Σε αυτό το tutorial, θα σας εξηγήσω τι είναι τα VirtualHosts και θα σας δείξω πως να ρυθμίσετε τον XAMPP (μπορείτε να ακολουθήσετε τα ίδια βήματα και σε αυτόνομες εγκαταστάσεις Apache) για να υποστηρίξει VirtualHosts ώστε να έχετε τα project σας συγκεντρωμένα κάτω από ένα φάκελο στο σύστημα σας, και να έχουν όλα σας τα έργα το δικό τους domain. Έτσι, αντί να έχει το έργο σας το domain ή το http://localhost/project-name/ να έχει το domain

Τι είναι τα VirtualHosts

Τα VirtualHosts είναι η διαδικασία κατά την οποία ο Apache Web Server μπορεί να εξυπηρετήσει περισσότερα από ένα καταλόγους (φακέλους) ως ξεχωριστούς “hosts”.

Ουσιαστικά αυτή η διαδικασία είναι παρόμοια με το να έχετε ένα υπολογιστή για κάθε έργο σας, με τη διαφορά που όλα τα έργα σας εξυπηρετούνται από τον ίδιο φυσικό υπολογιστή.

Τύποι VirtualHosts

Ο Apache υποστηρίζει τους ακόλουθους τύπος VirtualHost.

  • Name Based VirtualHosts
  • IP Based VirtualHosts

Name Based VirtualHosts

Οι Name Based VirtualHosts, είναι η ποιο απλή μορφή VirtualHost και σας επιτρέπει να κάνετε αντιστοίχηση ενός καταλόγου σε ένα domain.

Έτσι, αν για παράδειγμα έχετε τα ακόλουθα έργα:

  • C:\htdocs\Project1
  • C:\htdocs\Project2
  • C:\htdocs\Project3

Μπορείτε με Name Based VirtualHosts να κάνετε ανάθεση ενός domain ανά κατάλογο, και στη συνέχεια να προσπελάσετε το κάθε έργο μέσω του Domain του.

Έτσι, αν υποθέσουμε πως έχετε τους παραπάνω καταλόγους, τότε μπορείτε να γράψετε τις ακόλουθες εντολές στο αρχείο ρυθμίσεων του Apache (θα σας υποδείξω αργότερα ποιο είναι αυτό το αρχείο) για να κάνετε την αντιστοίχηση των καταλόγων σε domains:

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.project-1.ext
    DocumentRoot "C:/htdocs/Project1"
<VirtualHost *:80>
    ServerName www.otherdomain.tld
    DocumentRoot "C:/htdocs/Project2"
<VirtualHost *:80>
    DocumentRoot "C:/htdocs/Project2"

Και έτσι τώρα θα μπορείτε από τον υπολογιστή σας να προσπελάσετε τα τρία αυτά έργα με το domain τους. Για παράδειγμα, για να προσπελάσετε το Project1 θα πρέπει να γράψετε στον Browser σας την διεύθυνση http://www.project-1.ext/ αντί για την διεύθυνση ή την διεύθυνση http://localhost/Project1

IP Based VirtualHosts

Οι IP Based VirtualHosts είναι χρήσιμοι για να μπορέσετε να προσθέσετε διαφορετικές ρυθμίσεις σε ένα host βάση της IP και της θύρα από την οποία πραγματοποιείτε η προσπέλαση του site.

Η ποιο συχνή χρήση αυτού του τύπου VirtualHost είναι για να μοιράσουμε από τον ίδιο Server διαφορετικά Site όταν η προσπέλαση γίνετε από διαφορετικές θύρες ή διαφορετικές κάρτες δικτύου.

Για τον συγκεκριμένο τύπο VirtualHost δεν θα αναφέρω περισσότερα, αφού δεν είναι κάτι το οποίο πρέπει να καλύψουμε σε αυτό το tutorial.

Μειονεκτήματα των Name Based VirtualHosts

Οι Name Based VirtualHosts είναι καλοί για την περίπτωση που θέλετε να βάλετε σε ένα μηχάνημα 5 – 6 ιστοσελίδες με τα δικά τους Domains.

Αν στο περιβάλλων εργασίας που είστε έχετε πολλά έργα ή έχετε σκοπό να δημιουργήσετε πολλά έργα, τότε αυτή η λύση δεν είναι η ιδανική, αφού μετά από κάποιο αριθμό έργον, ο υπολογιστής σας θα αρχίσει να βαραίνει, με αποτέλεσμα να μην μπορείτε να κάνετε την δουλειά σας αποτελεσματικά.

Επίσης, ακόμα ένα μειονέκτημα που έχει αυτή η λύση είναι πως κάθε φορά που δημιουργείτε ένα νέο έργο, θα πρέπει να κάνετε επανεκκίνηση και τον Apache Web Server.

Τέλος, με τους Name Based VirtualHosts ένας αμελής χρήστης μπορεί πολύ εύκολα να χαλάσει την δομή των αρχείων του στον σκληρό δίσκο του, με αποτέλεσμα να είναι δύσκολο να εντοπίσει κάποιο έργο όταν θα έχει μερικές δεκάδες έργων εγκατεστημένα στο PC του.

Λύση στο πρόβλημα

Η λύση στο πρόβλημα είναι να δημιουργήσουμε δυναμικά ρυθμιζόμενους VirtualHosts. Με τον Apache, έχουμε την δυνατότητα να χαρτογραφήσουμε την δομή ενός καταλόγου, και έτσι να έχουμε αυτόματη δημιουργία των VirtualHosts με κοινές ρυθμίσεις για όλους τους hosts που θα προκύψουν.

VirtualHosts με XAMPP και Apache

Ο τίτλος του άρθρου αναφέρετε στον XAMPP γιατί είναι ίσος ο ποιο εύκολος και διαδεδομένος τρόπος για να έχει κάποιος ένας πλήρες περιβάλλον ανάπτυξης ιστοσελίδων στον υπολογιστή του χωρίς να απαιτούνται ιδιαίτερες γνώσεις για το πως να στήσει το απαραίτητο λογισμικό.

Οι πληροφορίες που ακολουθούν είναι κοινές και για εγκαταστάσεις Apache Web Server έξω από το πακέτο διανομής XAMPP.

Στατική IP

Πριν αρχίσετε να κάνετε οτιδήποτε, θα πρέπει να ορίσετε στατική IP στον υπολογιστή σας. Όσοι δεν γνωρίζετε με ποιο τρόπο να κάνετε αυτή την αλλαγή, ακολουθήστε τις οδηγίες στο βίντεο που ακολουθεί (αγγλόφωνο) και δημιουργήστε την IP που επιθυμείτε.

Hosts file

Κανονικά για να μπορέσετε να δηλώσετε τα δικά σας domain θα πρέπει να στήσετε τον δικό σας DNS Server. Ωστόσο αυτή η διαδικασία είναι επώδυνη και απαιτεί αρκετή τεχνογνωσία.

Για να παρακάμψουμε αυτή τη διαδικασία μπορούμε να προσθέσουμε εγγραφές στο hosts file του υπολογιστή μας.

Στο συγκεκριμένο tutorial θα σας παρουσιάσω τον τρόπο με τον οποίο μπορείτε να επεξεργαστείτε και να προσθέσετε νέες εγγραφές στο αρχείο αυτό.

Στα Windows το αρχείο hosts είναι στον φάκελο C:\Windows\System32\drivers\etc\ και δεν έχει κάποια κατάληξη (πχ, .txt, .ini, .sys).

Για να το ανοίξετε, θα πρέπει να εκτελέσετε το πρόγραμμα επεξεργασίας της επιλογής σας (σας προτείνω το Notepad) με δικαιώματα διαχειριστή (πριν κάνετε κλικ για να το ανοίξετε, κάντε πάνω του δεξί κλικ, και επιλέξτε “Εκτέλεση ως διαχειριστής”).

Σημείωση: Μην ανοίξετε το αρχείο αυτό με κάποιο επεξεργαστή κειμένου, γιατί μπορεί να αποθηκεύσετε από αμέλεια πληροφορίες που δεν επιτρέπονται στο συγκεκριμένο αρχείο.

Όταν ανοίξει το πρόγραμμα της επιλογής σας, κάντε άνοιγμα αρχείου, πλοηγηθείτε στον φάκελο που σας έχω υποδείξει παραπάνω, και στο όνομα αρχείου γράψτε “hosts” (μαζί με τα εισαγωγικά) και πατήστε άνοιγμα.

Όταν ανοίξει το αρχείο, προσθέστε το τέλος του αρχείο μια νέα γραμμή και κάντε μια εγγραφή σαν αυτή που ακολουθεί:     

H IP που έχω γράψει είναι τυχαία. Στην δική σας περίπτωση, θα πρέπει να γράψετε την στατική IP που ορίσατε στο PC στο προηγούμενο βήμα.

Σημείωση: Αν βάλετε μια δίεση μπροστά από την IP αυτόματα μετατρέπετε το υπόλοιπο της γραμμής σε σχόλιο. Αυτό έχει ως αποτέλεσμα να “απενεργοποιήσετε” αυτή την έγγραφή από το hosts αρχείο.

Σημείωση: Αν έχετε σκοπό να χρησιμοποιήστε καταλήξεις στα domain σας που αντιστοιχούν σε πραγματικά TLD, τότε βεβαιωθείτε πως τα doman αυτά δεν είναι ήδη κατοχυρωμένα, γιατί με αυτή την τεχνική, δεν θα μπορείτε να προσπελάσετε τα πραγματικά site στο διαδίκτυο. Έτσι για παράδειγμα, αν υποθέσουμε πως θέλετε να φτιάξετε μια εγγραφή που το domain θα είναι, τότε θα πρέπει να γνωρίζεται πως δεν θα μπορείτε πλέον να προσπελάσετε αυτό το site ξανά, για όσο καιρό θα υπάρχει αυτή η εγγραφή στο hosts αρχείο σας.

Δυναμικοί VirtualHosts με XAMPP και Apache

Τέλος, σε αυτή την ενότητα θα ρυθμίσουμε τον Apache ώστε να μπορεί να δημιουργεί αυτόματα τους VirtualHosts.

Για να καταφέρουμε αυτή την ενέργεια θα πρέπει να πλοηγηθούμε στον φάκελο που είναι εγκατεστημένος ο Apache Web Server και να ανοίξουμε τον φάκελο /conf/extra/. Σε αυτό το φάκελο υπάρχει ένα αρχείο με όνομα httpd-vhosts.conf.

Σημείωση: Πριν κάνετε οτιδήποτε σε αυτό το αρχείο, κρατήστε αντίγραφο του αρχείου.

Το αρχείο αυτό θα πρέπει να έχει τον ακόλουθο κώδικα ο οποίος βέβαια αποτελεί παράδειγμα για να δημιουργήσετε τους δικούς σας VirtualHosts με XAMPP και Apache.

# Virtual Hosts
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
# Please see the documentation at
# <URL:>
# for further details before you try to setup virtual hosts.
# You may use the command line option '-S' to verify your virtual host
# configuration.
# Use name-based virtual hosting.
##NameVirtualHost *:80
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any  block.
##<VirtualHost *:80>
    ##ServerAdmin postmaster@dummy-host.localhost
    ##DocumentRoot "C:/Web Server/xampp/htdocs/dummy-host.localhost"
    ##ServerName dummy-host.localhost
    ##ServerAlias www.dummy-host.localhost
    ##ErrorLog "logs/dummy-host.localhost-error.log"
    ##CustomLog "logs/dummy-host.localhost-accesss.log" combined
##<VirtualHost *:80>
    ##ServerAdmin postmaster@dummy-host2.localhost
    ##DocumentRoot "C:/Web Server/xampp/htdocs/dummy-host2.localhost"
    ##ServerName dummy-host2.localhost
    ##ServerAlias www.dummy-host2.localhost
    ##ErrorLog "logs/dummy-host2.localhost-error.log"
    ##CustomLog "logs/dummy-host2.localhost-accesss.log" combined

Σημείωση: Και σε αυτή την περίπτωση, σε κάθε γραμμή που τοποθετείτε μια δίεση στην αρχή της, μετατρέπετε αυτόματα όλη την γραμμή σε σχόλιο, με αποτέλεσμα ο Apache Web Server να την αγνοεί πλήρως.

Εμείς τώρα, για να δημιουργήσουμε τους δικούς μας δυναμικούς VirtualHosts, θα προσθέσουμε στο τέλος του αρχείο των ακόλουθο κώδικα:

UseCanonicalName Off
    VirtualDocumentRoot "C:/Web Projects/%3/%2.1/%2+"
    DirectoryIndex  index.php index.html
    <Directory "C:/Web Projects/*/*/*">
        Options FollowSymLinks
        AllowOverride All
        Allow from all

Σημείωση: Προσέξτε πως όταν αναφέρομαι σε διαδρομές στο σύστημα αρχείων των Windows μέσα στα αρχεία ρυθμίσεων του Apache δεν χρησιμοποιώ κανονικά slash, αλλά ανάποδα (το σύμβολο της διαίρεσης), και επίσης χρησιμοποιώ εισαγωγικά.

Επεξήγηση του κώδικα

UseCanonicalName Off

Αποτρέπει τον Apache να δημιουργήσει ένα URL που να στοχεύει στον εαυτό του.


Μέσα σε αυτές τις “εντολές” ορίζουμε τον δυναμικό VirtualHost. Στην πρώτη γραμμή θα πρέπει να αντικαταστήσετε την IP με την στατική IP που έχετε ορίσει στον υπολογιστή σας από το βήμα που περιγράψαμε παραπάνω. Ο αριθμός 80 υποδηλώνει την θύρα στην οποία ακούει αυτός ο VirtualHost και που στην προκειμένη περίπτωση είναι η θύρα http.

VirtualDocumentRoot "C:/Web Projects/%3/%2.1/%2+"

Με αυτή την “εντολή” λέμε στον Apache πως να εντοπίσει αυτόματα ένα Project μέσα στο σύστημα αρχείων και να το επιστρέψει στον χρήστη, βάση του domain που έχει εισάγει ο χρήστης.

Ποιο συγκεκριμένα. Στην δική μου περίπτωση, έχω δημιουργήσει την ακόλουθη δομή φακέλων για τα έργα μου:

    Web Projects\

Και έτσι με την VirtualDocumentRoot λέω στον Apache. Θα βρεις το project που σου ζητάει ο χρήστης στον φάκελο C:\Web Projects\%3 (είναι το TLD μου [ext])\%2.1 (θα πάρει το πρώτο γράμμα του domain)\%2+ (θα πάρεις όλο το domain)\

Έτσι, αν για παράδειγμα ο χρήστης ζητήσει το domain ο Apache θα κάνει τα ακόλουθα βήματα:

  • Θα αποδομήσει το url που του ζήτησαν και θα θέσεις στην “μεταβλητή” %1 το www, στην “μεταβλητή” %2 το business-domain και στην “μεταβλητή” %3 το ext
  • Στη συνέχεια θα αρχίσει να δομεί τη διαδρομή που είναι τα αρχεία του έργου αρχίζοντας από τον φάκελο που γνωρίζει και είναι ο C:\Web Projects\
  • Επόμενο βήμα είναι να πάρει και να βάλει στην διαδρομή την “μεταβλητή” %3, οπότε η διαδρομή πλέον είναι C:\Web Projects\ext\
  • Επόμενο βήμα είναι να πάρει από την μεταβλητή %2 τον πρώτο χαρακτήρα με την χρήση της μεταβλητής %2.1 και έτσι η διαδρομή πλέον γίνετε C:\Web Projects\ext\b\
  • Τέλος, θα πρέπει από να τοποθετήσει στο τέλος της διαδρομής την “μεταβλητή” %2 και οτιδήποτε είναι δεξιά από αυτή με την “μεταβλητά” %2+, και έτσι η διαδρομή πλέον γίνετε C:\Web Projects\ext\b\business-domain.ext\

Σημείωση: οι αριθμοί %1, %2, %3 δεν είναι μεταβλητές, αλλά τις αναφέρω ως μεταβλητές για να γίνουν ποιο κατανοητές από αρχάριους χρήστες.

Σημείωση: ο Apache είναι αρκετά ευέλικτος σε ότι αφορά την δομή που θα ορίσετε στο σύστημα αρχείων σας, και ο περιορισμός είναι καθαρά η φαντασία σας. Αν θέλετε, μπορείτε να δείτε εδώ όλες τις δυνατότητες της VirtualDocumentRoot.

Σημείωση: Η μορφή που θα δώσετε στο domain σας, εξαρτάτε από εσάς, και την ορίζετε κατά την δημιουργία του στο αρχείο hosts που αναφέραμε παραπάνω. Το μόνο που πρέπει να προσέξετε είναι να συμβαδίζει η δομή του domain που δείτε, με την δομή του συστήματος αρχείων στον υπολογιστή σας.

DirectoryIndex  index.php index.html

Αυτή η εντολή, λέει στον Apache, πως σε κάθε έργο, όταν θα υπάρχει το αρχείο index.php ή το αρχείο index.html θα το φορτώνει αυτόματα όταν δεν υπάρχει κάποιο αρχείο στο URL. Για παράδειγμα όταν κάποιος θα επισκεφτεί το URL το αρχείο που θα φορτωθεί θα είναι το index.php ή αν δεν υπάρχει αυτό, και υπάρχει το index.html, διαφορετικά θα εμφανίσει τα περιεχόμενα του καταλόγου.

<Directory "C:/Web Projects/*/*/*">

Με αυτή την εντολή ορίζουμε τους κανόνες που θα ισχύουν σε όλους τους φακέλους κάτω από τον φάκελο C:/Web Projects/,

Options FollowSymLinks

Με αυτή την εντολή λέμε στον Apache ότι του επιτρέπουμε να ακολουθεί συντομεύσεις αρχείων που υπάρχουν στους καταλόγους των έργων μας.

AllowOverride All

Με αυτή την εντολή λέμε στον Apache πως μπορούμε να μεταβάλουμε τις ρυθμίσεις του μέσα από τους φακέλους των έργων μας με την χρήση του αρχείου .htaccess

Allow from all

Τέλος με αυτή την εντολή του λέμε ότι η προσπέλαση των έργων μας μπορεί να πραγματοποιηθεί από όλους.

Σημείωση: Μην σας τρομάζει αυτή η εντολή. Κανένας από τον έξω κόσμο δεν θα έχει πρόσβαση στον υπολογιστή σας για όσο ακολουθείτε τους κανόνες ασφαλείας που είναι πιθανότατα ήδη ενεργοποιημένοι για εσάς.

Ολοκλήρωση της διαδικασίας

Αφού κάνετε τις ρυθμίσεις σας στο αρχείο httpd-vhosts.conf, αποθηκεύστε το. Στη συνέχεια θα πρέπει να βεβαιωθούμε πως ο Apache γνωρίζει ότι πρέπει να χρησιμοποιήσει αυτό το αρχείο.

Για να βεβαιωθούμε, θα πρέπει να ανοίξουμε το αρχείο ρυθμίσεων του Apache που είναι στον φάκελο conf του Apache Web Server.

Το αρχείο που θέλουμε είναι το httpd.conf.

Σημείωση: Πριν κάνετε οποιαδήποτε αλλαγή σε αυτό το αρχείο, δημιουργήστε ένα αντίγραφο ασφαλείας του αρχείου.

Ανοίξτε το httpd.conf και προσπαθήστε να εντοπίσετε την γραμμή “Include conf/extra/httpd-vhosts.conf

Αν αυτή η γραμμή έχει μπροστά της μια δίεση, τότε αφαιρέστε την δίεση και αποθηκεύστε το αρχείο.

Σε αυτό το σημείο θα πρέπει να κάνετε επανεκκίνηση τον Apache Web Server.

Σημείωση: Αν για κάποιο λόγο δεν γίνετε επανεκκίνηση του Apache, τότε, πιθανότατα έχετε κάνει κάποιο συντακτικό λάθος στις ρυθμίσεις σας.

Χρήση του συστήματος

Αν έχετε ακολουθήσει σωστά όλα τα παραπάνω βήματα, τώρα θα πρέπει να είστε σε θέση να δημιουργήσετε νέα Projects που έχουν τα δικά τους domains.

Σε αυτή την κατάσταση του server σας, όταν θα θέλετε να προσθέσετε ένα νέο έργο, τα μόνα βήματα που θα πρέπει να κάνετε θα είναι η δημιουργία μιας νέας εγγραφής στο αρχείο hosts με την ίδια IP που έχετε ορίσει ως στατική στον υπολογιστή σας, και το domain του έργου.

Τέλος, ανάλογα με τις ρυθμίσεις που έχετε κάνει στο VirtualDocumentRoot θα πρέπει να δημιουργήσετε και την κατάλληλη υποδομή σε φακέλους, και το έργο σας είναι έτοιμο προς χρήση.


Είναι προφανές πως η ρύθμιση των VirtualHosts με XAMPP και Apache είναι μια δύσκολη και επίπονη διαδικασία όταν δεν γνωρίζεις ποια είναι τα απαραίτητα βήματα που πρέπει να ακολουθήσεις.

Το καλό όμως, είναι πως τελικά έχεις ένα πλήρες λειτουργικό σύστημα που σε διευκολύνει στην παραγωγή και δεν σου δημιουργεί εμπόδια.

Ιστοσελίδα Τοπικά στο Linux Mint / Ubuntu με LAMP

Πριν ξεκινήσουμε την εγκατάσταση LAMP στη διανομή μας του Linux, είναι καλό να κάνουμε ένα πλήρες update. Απλώς ανοίγουμε το τερματικό με Ctrl+Alt+T και γράφουμε:

sudo apt-get update && sudo apt-get dist-upgrade -y

Μια υπενθύμιση για τους αρχάριους στο Linux, όταν χρησιμοποιούμε την εντολή “sudo”, δεν θα εμφανιστεί τίποτα όταν θα γράφουμε το password, ούτε αστεράκια ούτε τελείες. Απλά γράφουμε τον κωδικό και πατάμε Enter.

Εφόσον το update γίνει κανονικά και χωρίς μηνύματα σφάλματος, καλό είναι να κάνουμε μια επανεκκίνηση του λειτουργικού με:

sudo reboot

Εγκατάσταση LAMP στο Linux με μία εντολή

Παρ’ ότι το LAMP περιέχει τουλάχιστον τρεις διαφορετικές κατηγορίες λογισμικού, μπορούμε να το εγκαταστήσουμε με μια εξαιρετικά απλή εντολή.

Ανοίγουμε το τερματικό και γράφουμε:

sudo apt-get install lamp-server^ -y

Βεβαιωθείτε πως μετά το lamp-server έχετε γράψει και το “^” με Shift+6.

Αυτή η μία εντολή θα εγκαταστήσει λίγο πολύ όλα όσα χρειαζόμαστε για έναν LAMP server: τις εφαρμογές Apache2, MySQL, και PHP5, καθώς και τις απαραίτητες βιβλιοθήκες λογισμικού.

Κατά τη διάρκεια της εγκατάστασης, το MySQL θα μας ζητήσει να ορίσουμε έναν κωδικό για τον χρήστη “root”. Εφόσον δημιουργούμε ιστοσελίδα τοπικά, θα μπορούσαμε να αφήσουμε τον κωδικό κενό, αλλά είναι καλή τακτική το να δημιουργήσουμε έναν ισχυρό κωδικό.


Αφού ολοκληρωθεί η εγκατάσταση και εφόσον δεν έχουμε δεχτεί κανένα μήνυμα σφάλματος…


…μπορούμε να δοκιμάσουμε το LAMP ανοίγοντας έναν οποιονδήποτε browser και πηγαίνοντας στη διεύθυνση http://localhost. Αν όλα είναι σωστά, θα μας εμφανιστεί η Apache 2 Ubuntu Default Page.


Δημιουργώντας ιστοσελίδα τοπικά στο LAMP

Ρυθμίσεις Apache

Μετά την εγκατάσταση LAMP, είναι καλή ιδέα να αντιγράψουμε το προεπιλεγμένο configuration του Apache, ώστε να μπορούμε να φτιάξουμε πολλαπλές ιστοσελίδες τοπικά.

Αρκεί να γράψουμε στο τερματικό:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf

Σε αυτή την εντολή, και σε ορισμένες από αυτές που ακολουθούν, αγνοήστε την αναδίπλωση λόγω του πλάτους τους ιστοσελίδας ή της γραμμής εντολών στις φωτογραφίες, είναι εντολές μίας γραμμής.

Φυσικά, μπορούμε να αντικαταστήσουμε το “mysite.conf” με ένα όνομα ειδικά για την τοπική ιστοσελίδα που θέλουμε να φτιάξουμε, πχ newproject.conf ή localsite.conf.

Η επιτυχής αντιγραφή δεν θα μας δώσει κανένα μήνυμα επιβεβαίωσης. Απλά εισάγουμε την επόμενη εντολή για να κάνουμε τροποποιήσεις στο αρχείο ρυθμίσεων.

sudo gedit /etc/apache2/sites-available/mysite.conf

Αυτή η εντολή θα ανοίξει τον επεξεργαστή κειμένου gedit με δικαιώματα διαχειριστή. Έχοντας ανοίξει το αρχείο, ψάχνουμε για τη γραμμή…

DocumentRoot /var/home/


.διαγράφουμε το /var/home/ part και γράφουμε τη διαδρομή στην οποία θα βρίσκεται ο φάκελος όπου θα εγκαταστήσουμε την ιστοσελίδα τοπικά. Μια καλή επιλογή είναι το /home/(το όνομα χρήστη μας)/public_html .

Στη συνέχεια αποθηκεύουμε το αρχείο και κλείνουμε το gedit. Αν ο φάκελος public_html που ορίσαμε δεν υπάρχει στο /home, μπορούμε να τον δημιουργήσουμε με την εντολή:

mkdir public_html

Τέλος, θα χρειαστεί να επεξεργαστούμε το αρχείο apache2.conf με την εντολή:

sudo gedit /etc/apache2/apache2.conf

Προς το τέλος του αρχείου θα βρούμε τη γραμμή:

<Directory /var/home/>


Αφαιρούμε το κομμάτι /var/www (αλλά όχι το τελικό “>”) και γράφουμε τη διεύθυνση του φακέλου που περιέχει το public_html, στο παράδειγμα /home/pcsteps/


Αυτό λέει στον Apache πως όταν δημιουργούμε ιστοσελίδα τοπικά, ο φάκελός της θα βρίσκεται σε έναν υποφάκελο στο /home.

Στη συνέχεια γράφουμε την παρακάτω εντολή, η οποία θα απενεργοποιήσει το προεπιλεγμένο site από τον apache και θα ενεργοποιήσει τη νέα ιστοσελίδα τοπικά.

sudo a2dissite 000-default && sudo a2ensite mysite

Σε περίπτωση που αναρωτιέστε, το a2dissite είναι σύντμηση του apache2disablesite και αντίστοιχα το a2ensite προέρχεται από το apache2enablesite.

Θα χρειαστεί να επανεκκίνησουμε τον Apache2 για να αναγνωρίσει όλες αυτές τις αλλαγές, γράφοντας:

sudo service apache2 reload

Τέλος, για να ελέγξουμε πως όλα λειτουργούν, αρκεί να φτιάξουμε ένα απλό αρχείο index.html μέσα στον φάκελο public_html. Μπορούμε να το κάνουμε με μια εντολή echo:

echo '<b>Hello! It is working!</b>' > /home/pcsteps/public_html/index.html

Τώρα, πηγαίνοντας στο http://localhost θα μας δείξει το σχετικό μήνυμα.


Εγκατάσταση phpmyadmin

Το Phpmyadmin είναι πιθανώς το καλύτερο εργαλείο γραφικού περιβάλλοντος για τη διαχείριση βάσεων δεδομένων MySQL. Ενώ δεν ανήκει στο πακέτο εγκατάστασης του LAMP, μπορούμε να το εγκαταστήσουμε ξεχωριστά με την εντολή::

sudo apt-get install phpmyadmin -y

Επιλέγουμε την αυτόματη ρύθμιση για apache2 πατώντας το space bar, και πατάμε Tab για να επιλέξουμε το Ok.


Θα χρειαστεί επίσης να δημιουργήσουμε μια βάση δεδομένων για το phpmyadmin με το dbconfig-common.


Κατ’ αρχάς βάζουμε τον κωδικό του root που δημιουργήσαμε στο MySQL κατά την εγκατάσταση του LAMP.


Ύστερα, καλό είναι να φτιάξουμε έναν ξεχωριστό κωδικό, για να συνδέσουμε το phpmyadmin με τη MySQL.


Για να συνδεθούμε στο phpmyadmin μετά την εγκατάσταση, γράψουμε στο browser http://localhost/phpmyadmin.

Κάνουμε login με τα διαπιστευτήρια του MySQL, με όνομα χρήστη root και τον κωδικό που φτιάξαμε στην εγκατάσταση του LAMP.

Πλέον, μπορούμε να φτιάξουμε όσες βάσεις δεδομένων θέλουμε, και να εγκαταστήσουμε κάθε πιθανό CMS: WordPress, Joomla, Drupal κλπ.