Results 1 to 13 of 13
  1. #1
    Join Date
    Dec 2006
    Location
    London, UK
    Posts
    628

    VSP tutorial - Choosing a host, setting up Virtualmin, testing and monitoring

    I've created a new VPS tutorial on my site at www.mckerracher.net/vps documenting some of my own experiences moving from shared hosting to a VPS (includes links to WHT). Any comments welcome.
    Phil McKerracher

  2. #2
    Join Date
    Dec 2006
    Location
    London, UK
    Posts
    628

    VPS tutorial - Choosing a host, setting up Virtualmin, testing and monitoring

    This tutorial is about setting up and managing a Virtual Private Server (VPS) for hosting web sites. It is aimed at people who are considering moving from shared web hosting to VPS or cloud hosting (or even a dedicated server) in order to improve the speed and reliability of their sites, or moving from managed to unmanaged hosting to save cost. By managing the server yourself with the aid of an open-source control panel such as Virtualmin you can save a lot of money while avoiding most of the restrictions of shared hosting.

    Managing your own VPS has some big advantages:

    • Sites load faster and more reliably than on shared hosting, even under heavy load.
    • You have complete control – install any software package you want and run any number of web sites immediately.
    • Secure shell (SSH) access allows secure file transfer, remote backups and command-line control.
    • Full isolation from other users greatly reduces your chance of being hacked, or your IP addresses being blacklisted.
    • Multiple IP addresses can be used to host eCommerce sites with their own free SSL certificates.
    • Your friends or customers can be given their own personal login to manage sites you host for them.
    • You avoid management fees and control panel licenses and can quickly resolve problems.
    • It's easier to move everything to a new or backup server if necessary.
    • You gain a lot of knowledge about how web servers work.

    Some disadvantage are:

    • A VPS is typically more expensive than “free” or “shared” hosting.
    • Some technical ability is needed, and time to learn server management skills.
    • Some regular effort is needed to monitor and maintain the server to keep it secure and reliable.

    Getting started

    Before you can load web sites onto a VPS you will need:
    • An account with a web hosting service that gives you administrative access to a virtual server with sufficient resources to run your web sites. This typically involves paying a monthly fee. Some guidelines for choosing a good host are below. You will be given at least one IP address for the server and an administrator username and password that allows you to install an operating system and reboot the server. Such accounts can sometimes be created immediately but may take a couple of days.
    • Administrative access to a domain name for each web site. This typically involves paying a small yearly fee to a domain registrar. They will give you a username and password that allow you to change the nameserver settings ("A records" and "MX records") that relate your domain name to your new IP address as described below. It can take a couple of days for these new settings to propagate around the global domain name system (DNS). In the meantime you can access your VPS directly by IP address.
    • A suitable operating system installed on the server - some guidelines for choosing one are below. Often the hosting service will install a standard operating system for you - if not, you can load the OS from an "iso" file. Make sure you know how to reload the OS in case of problems or when you upgrade it later. You would normally load the "server" (as opposed to "desktop") edition of an operating system in this situation.
    • If the server is remote (no screen or keyboard access) and you are using a Windows PC to manage it you will need to install client programs such as PuTTY and WinSCP to send commands and files to your VPS over a secure shell (SSH) connection. Linux machines typically have these client programs already installed.
    If it helps, my current web host is TransIP, my domain registrar is Namecheap and my operating system is Ubuntu 12.04 LTS, but you should choose your own depending on your requirements.

    Choosing a hosting company

    When choosing a hosting company look for reliability, good network connectivity and good support as well as cost. You're unlikely to get these from a PC under your desk or from a one-person startup company. Redundant network connectivity and power supplies are very desirable, also good security and some sort of file backup system. It’s hard to find objective reviews but www.webhostingtalk.com is a good place to ask for advice.

    Here are some suggested things to check when moving to a new VPS hosting company:

    • How much RAM and disk space is offered? Life will be easier if you have at least 1 GB of RAM and 20 GB of disk space.
    • Are there any restrictions on the amount of data traffic allowed per month? If so, try to find out how much your sites typically used in the past.
    • What hypervisor do they use to run VPS instances? "Native" or "bare metal" hypervisors such as Xen or KVM are preferable to "hosted" hypervisors like OpenVZ or Virtuozzo because they allow kernel layer control that may be needed to block denial of service or spam attacks.
    • Do they offer additional IP addresses, and if so at what cost? You will need these for eCommerce sites that use SSL certificates, and because IPv4 addresses are in short supply they can be expensive.
    • Do they have a good reputation for fast and helpful support? Try googling for reports of past problems from other users.
    • Is there a trial period or monthly billing option? If possible, monitor the reliabililty and responsiveness of a new host for a few weeks using free services like f8lure and pingdom. If ping responses often take more than 100 ms or page load times are more than 2 s or downtime is more than a few minutes a month you're unlikely to be happy with the hosting.
    • Do they offer any backups? If not, what are your backup plans? How hard is it to restore a full or partial backup?
    • Does the data centre have good environmental credentials? Hosting uses a lot of electricity.

    Be careful about buying your domain name from the same company that hosts your sites, because that makes it harder to move to a new host if there's a problem. Any temporary payment problem, a company going out of business or a natural disaster can leave you with no control over your sites at all. Always backup your data!

    Location typically doesn’t matter much – sites will load a little faster if the server is close to your main users and payment and support may be a little easier if the server is close to you (the administrator), but other factors such as price and reliability are often more important than location. Local legislation about privacy, libel, censorship, copyright and taxation may also be relevant. I have used hosts in the UK, continental Europe and the US without problems.

    Choosing an operating system and control panel

    I prefer so-called LAMP hosting (Linux, Apache, MySQL, PHP) because it’s open-source (cheap, patchable) and compatible with popular content management systems. Any of the Virtualmin GPL Supported Systems are reasonably complete and secure. Windows hosting is typically more expensive but may be necessary for sites that are scripted using Microsoft ASP.

    For configuring and managing the server, I recommend open-source software such as Virtualmin rather than a licensed control panel such as Plesk, cPanel or HSphere because it's the easiest and cheapest way to set up multiple sites (on the same or different IP addresses), it works with a Graphical User Interface (GUI) or command line control, and it has a decent file manager.

    For managing the content of individual sites, I recommend using a well-supported Content Management System (CMS) such as Drupal, Wordpress or Joomla. Proprietary CMS or “website builder” systems generally have more limited features and can be difficult to move to a new host.

    Initial configuration

    If you are installing the operating system from scratch, you will need to select some configuration options. If in doubt, accept the default values. For example, when installing Ubuntu 12.04 LTS you will be asked to choose the following:

    • Language, country and keyboard layout - choose the best ones for you (the administrator).
    • Hostname - choose a subdomain of a domain you own, such as "mail.mydomain.com".
    • Administration username and password - it's very important to choose a secure password (at least 8 digits, not a dictionary word and so on) because hackers will try to break into your machine as soon as it connects to the internet.
    • Timezone - select one that is convenient for the main administrator.
    • Disk partition - allow the installer to do this.
    • HTTP proxy settings - usually blank.
    • Installing security updates - I usually prefer to update manually in case of problems, but whatever method you select you should ensure security updates happen promptly somehow. I know from experience that hackers are quick to exploit new vulnerabilities.
    • Packages - you will almost certainly need an OpenSSH server at least. The Virtualmin installer will install LAMP and mail packages.
    • GRUB boot loader - install.

    Assuming you now have a remote server running a freshly-installed Linux operating system but nothing else, and you are configuring it from a local Windows PC, you would start by connecting to the secure shell (SSH) using a client such as PuTTY. Install and run PuTTY on your Windows PC and put the IP address of your VPS (which your hosting company will tell you) where it says "Host Name (or IP address)", set the Port to 22 and select Connection type: SSH then click the Open button.

    The first time you connect to your new server you will see a warning that the server's host key is not cached. Click “Yes” to save the key and connect. Enter the admin username and password that you set above (or received from your hosting company) when prompted.

    Initial security patches

    For security reasons, the first thing you should do after starting the server for the first time is install the latest operating system patches. On Ubuntu and other Debian-based systems you can do this with the following commands:

    Code:
    sudo apt-get update
    sudo apt-get dist-upgrade
    sudo reboot
    The "sudo" part is only necessary if you are logged in as an administrator rather than a superuser such as "root". It will prompt you for the administrator password the first time. It's considered good security practice to avoid logging in as root and Ubuntu disables the root password for this reason. If you need to set a root password you can do it using the command:
    Code:
    sudo passwd
    then entering the existing admin user's password followed by the new root password (twice).

    Checking timezone and locale

    Check that your server has an appropriate timezone set. It is usually most convenient to set it to the zone in which the main administrator is located, since it avoids the need to translate timestamps in log files, for example.

    Code:
    sudo dpkg-reconfigure tzdata
    Check that your server has a locale set (used to check that passwords are not dictionary words, for example)

    Code:
    locale
    If it’s not set correctly, you can find and install an appropriate language pack and set the locale with the following commands (using British English as an example):

    Code:
    sudo apt-cache search language-pack
    sudo apt-get install language-support-en
    sudo update-locale LANG=en_GB.utf8 LC_MESSAGES=en_GB.utf8
    Checking the hostname

    The hostname of your VPS is shown on the login screen in the previous section, or by entering the following command
    Code:
    hostname -f
    If it is an automatically-generated string (perhaps including the IP address) rather than a fully-qualified domain name and you will be passing email through the server you should definitely change this, otherwise outgoing mail is very likely to be rejected by spam filters. You should choose a server name that is a subdomain of a domain you own, such as the main domain hosted by the server, for example “mail.mydomain.com”. You can change it using an editor such as "nano" to modify these configuration files:
    Code:
    sudo nano /etc/hostname
    sudo nano /etc/hosts
    Unfortunately, some hosting companies overwrite this information every time a VPS is rebooted - if so, contact them to get it changed.

    Installing a control panel

    Commercially control panels are usually installed by the hosting company because they require a license. To download and install open source Virtualmin, follow their instructions or simply run the following two commands:

    Code:
    wget http://software.virtualmin.com/gpl/scripts/install.sh
    sudo /bin/sh install.sh
    (The install.sh script may take several minutes to complete.)

    Now point a web browser to the same address that you used to connect to SSH using PuTTY above. For example, if the IP address of your server is 123.123.123.123 then you would visit address http://123.123.123.123 using a web browser. You should see a screen saying “It Works!”.

    If you have the ability to take a "snapshot" backup of your entire server it might be a good idea to make one now, because this is a good place to return to if you mess things up. Note that it's not possible to re-run the above install.sh script without re-installing the entire operating system.

    To connect to the Virtualmin web interface and complete the installation, point your browser to port 10000, using https for a secure encrypted connection. If the IP address is 123.123.123.123, the address to visit would be https://123.123.123.123:10000. You may get a warning about an untrusted certificate, which you can ignore for now. Bookmark that page and login with same administrator username and password you used above.

    You will be taken through a post-installation wizard. The default answers will usually be fine although you may wish to select "Skip check for resolvability" beside "Primary Nameserver" and "Only store hashed passwords" for the "Password storage mode".

    You can follow the "Features and Plugins" link to deselect any features you won't use. Personally I deselect the following modules to save memory usage:

    • BIND DNS domain - I use the DNS nameservers supplied by my domain registrar
    • Webalizer reporting - I use Awstats and Piwik for analysing visitors
    • PostgreSQL database - I use MySQL because many scripts require it
    • ProFTPd virtual FTP - I use secure file transfers (SCP or SFTP) via SSH instead, for security and to preserve timestamps
    • Additional security


    The default settings that we have installed so far provide a reasonable level of security, as long as you choose hard-to-guess passwords and install security patches quickly. Nevertheless, your VPS will be attacked constantly by hackers and spammers so you should remove as many vulnerabilities as possible and check your log files regularly.

    Disable SSH password login

    On every client (desktop) machine that the administrator will use to login by SSH, generate a public/private key pair to use instead of a password. This gives better security and allows unattended backup scripts. If it's a Linux machine, just type the following command at a command prompt:

    Code:
    ssh-keygen
    Accept the defaults (2048 bit RSA key, no password). On a windows machine, you can use the same command in Cygwin, or use PuTTYgen to make the key pair.

    On your VPS, use the same command to generate the appropriate file structure (we don't actually need these keys unless we are making outward SSH connections from here). In particular, we need the file /.ssh/authorized_keys created in the admin user's folder with "user only" permissions.

    Copy and paste the public key that is generated inside file /.ssh/id_rsa.pub on your client (desktop) machine to the /home/[admin user]/.ssh/authorized_keys file on your VPS that was created above.

    Don't disclose the private key to anyone! If you use PuTTY to connect to your server, enter the address of the private id_rsa key file in the Connection/SSH/Auth configuration screen. If it's working you should NOT be prompted for a password the next time you try to connect.

    Once you are sure you can login successfully without a password, you can go to Webmin/Servers/SSH server/Authentication and set "Allow authentication by password?" to "No".

    You can also change the port that the SSH server listens on to reduce hacking attempts and associated log file entries. The setting is in Webmin/Servers/SSH Server/Networking. Don't forget to change any related firewall settings as well, or you may lock yourself out!

    Restrict Webmin logins


    The webmin interface is another way a hacker could get admin access to your server. You should always set a good password and connect to webmin using an encrypted SSL connection (a URL beginning "https", not "http") to prevent your password being captured, especially if you are on a Wifi connection.

    If you know that only a particular IP address (or hostname, or range of IP addresses) will always be used by administrators, you can restrict logins to those ranges from Webmin/Webmin Configuration/IP Access Control.

    You can also change the webmin admin port from the default 10000 to a different one that is harder for hackers to find in Webmin/Webmin Configuration/Ports and Addresses.

    PHP hardening with Suhosin

    There is a useful package of PHP security patches that can easily be installed by going to Webmin/Software Packages/Package from APT and entering "php5-suhosin", or from the command line by entering "sudo apt-get install php5-suhosin". You can read more about it on the Suhosin web site.

    Disable FTP login

    The FTP server can be disabled by going to Webmin/Bootup and Shutdown/proftpd and clicking "Delete".

    Restrict email connections


    If you don't need to offer POP3 or IMAP connections to external users you can disable them at Webmin/Servers/Dovecot IMAP/POP3 Server/Networking and Protocols. On the same page you can also restrict the allowed interfaces to IP address 127.0.0.1.

    If you don't need to allow external users to send mail via your SMTP server you can prevent that at Webmin/Servers/Postfix Mail Server/SMTP Authentication and Encryption by unchecking the "Allow authenticated clients" option.

    Hide Apache and PHP version

    Some people advise hiding Apache and PHP version information from external view. It probably doesn't help much because hackers will try all possibilities eventually, but it's easily done by changing these settings:

    In Webmin/Servers/Apache Webserver/Global
    • Configuration/Miscellaneous, set "Server HTTP header" to "Product only".
    • In Virtualmin/Services/PHP 5 Configuration/Edit Configuration Manually for each site add the line "expose_php = Off".

    Enabling a firewall
    It's perferable to secure your server properly than rely on a firewall for protection. You should for example disable unwanted services (e.g. bind, proftpd) at Webmin/System/Bootup and Shutdown. This also saves memory and CPU. Nevertheless a firewall is sometimes useful and you can easily set up a suitable set of rules at Webmin/Networking/Linux Firewall by clicking "Reset Firewall" then selecting "Block all except ports used for virtual hosting" then clicking "Setup Firewall".

    Note that sometimes hosting companies will prevent your firewall starting automatically at boot time. This is a safety measure to prevent you accidentally locking yourself out. You will have to remember to re-enable it manually after each reboot in that case.

    Installing web sites

    Web sites can be created by going to Virtualmin/Create Virtual Server and entering the domain name you will use (e.g. subdomain.mydomain.com) and an administrator password. The default settings are usually OK and come from a configurable "Server Template" at Virtualmin/System Settings/Server Templates.

    Note that the PHP script execution mode will be set to FastCGI by default - this can be changed under Virtualmin/Server Configuration/Website Options.

    It's possible for many sites to share the main IP address of the server this way. It's also possible to create a sub-server (a subdomain of a domain on the same VPS) or an alias of another site (with an alternative spelling, for example).

    If you want to forward administrative email messages to an external address you can set this in two places:

    • Virtualmin/Edit Virtual Server/Configurable Settings/Contact email/Administrator’s mailbox
    • Virtualmin/Services/Configure Website/Networking and Addresses/Server admin email address

    You will need to change the DNS settings in your nameservers (probably at your domain registrar, or hosting company) to point to the new site. A set of suggested settings can be found at Virtualmin/Server Configuration/Suggested DNS Records. DNS changes can take up to 48 hours to propagate around the worldwide DNS network.

    Once DNS settings have propagated, files in the public_html folder will automatically be displayed to the world. By default, the file for the home page should be named index.html or index.php. A MySQL database is created for each site by default and can be managed at Virtualmin/Edit Databases.

    Adding email users


    Email users can be added at Virtualmin/Edit Users/Add a user to this server. By default, all mail will be stored on your VPS. I generally prefer to forward all my user's mail to an external service such as Gmail instead. This can be changed under "Mail forwarding settings".

    Users can access stored mail at the Usermin address (e.g. https://mydomain.com:20000) or you can install a more sophisticated application such as Roundcube or Squirrelmail, which are easily installed with "one click" from Virtualmin/Install Scripts.

    Enabling encrypted SSL connections

    You can enable SSL (secure sockets layer) connections for one site on the server simply by going to Virtualmin/Edit Virtual Server/Enabled features and checking the box "SSL website enabled?". This will immediately allow encrypted connections to this site with a URL that begins "https" rather than "http".

    The first problem is, the automatically-generated certificate is "self-signed" which means users will get a warning from their browser that the connection can't be trusted (because there might be a man-in-the-middle intercepting the encrypted traffic). The solution is to install a certificate from a trusted authority. You can get free one-year certificates from StartSSL and longer-duration ones from other suppliers. If you use the StartSSL site, first register and use the Validations Wizard to do a "Domain Name Validation" (it checks by sending an email to the webmaster). Then go to Virtualmin/Server Configuration/Manage SSL Certificate and select the Create Signing Request tab. Click Generate CSR Now and copy the CSR text to your clipboard. Go back to the StartSSL site, select Certificates Wizard/Web Server SSL/TLS Certificate, skip the Private Key page and paste the CSR into the box. You will get a signed certificate and an intermediate CA certificate. Paste these two into the appropriate tabs in Virtualmin and save them. If you've done everything correctly your first website will now load with no warnings in most browsers.

    If this is your main site, you may wish to copy this certificate to Webmin, Usermin, Dovecot and Postfix as well using the buttons on the Manage SSL Certificate page.

    The second problem happens only if you have more than one SSL site on your server. Each needs a separate certificate, and each certificate needs a unique IP address (unless you are sure that all visitors have browsers that support Server Name Indication, which is unlikely at this time). You will have to obtain those additional IP addresses from your hosting provider, which can be expensive since IPv4 addresses are in short supply. Once you have the IP address for your second site, go to Virtualmin/Server Configuration/Change IP Address and add this address under "Use private address". You can then enable SSL and install a certificate for the second site as described above. Repeat for subsequent secure sites.

    Testing and monitoring

    By default, email reports of any system problems will be sent to user "root". You can read them by going to Webmin/Users and Groups/root and clicking the "Read Email" button. It's usually more convenient to forward them to an external email address. You can configure this by going to Webmin/Servers/Postfix Mail Server/Mail Aliases, selecting Create a new alias and setting Address to "root" and your email address in "Alias to", "Email address".

    You should check log files regularly at Webmin/System/System Logs and at Virtualmin/Logs and Reports for signs of problems or malicious activity.

    There are a number of very useful free services that can be used to monitor your sites:

    • Logwatch - Analyses logs and sends a daily digest to the administrator. Needs installation.
    • Dnssy - checks all your DNS settings
    • F8lure - pings your server once a second to check for network problems or CPU overload, alerts when down
    • Mxtoolbox - checks your mail server every 15 mins, alerts when down or blacklisted, can also "port scan" your firewall
    • Pingdom - checks how fast your pages load once a minute, alerts when down
    • Loadimpact - simulates many simultaneous users
    • Piwik - Similar to Google Analytics but hosted on your own server, shows how your visitors behave
    • SSL server test - Checks SSL installation

    I suggest enabling these scheduled update and validation checks:

    • Webmin/System/Software Package Updates/Scheduled checking options
    • System Information/Virtualmin Packages/Scheduled checking options
    • Virtualmin/Limits and Validation/Scheduled Validation
    • Webmin/System/Scheduled Cron Jobs - create a job that runs "clamscan -ir /home" weekly
    • Virtualmin/Others/System and Server Status – Enable Scheduled Monitoring of Postfix, SSH, Webmin, Dovecot, Apache, MySQL, Webmin, Free Memory, Load Average and Disk space

    If you want to test your setup at home before paying for commercial hosting, you can easily do so using a virtual machine. VirtualBox is free and easy to use and runs on Windows, MacOS, Linux and Solaris. Create a virtual machine with at least 1 GB of RAM and 20 GB of disk space and set the network mode to “bridged”. Then download the operating system you plan to use as an "iso" file, mount it as a virtual CD, reboot the virtual server and follow the installation prompts.

    Additional packages

    You may need to install extra packages that are required by the programs you install. Often the installation program for a content management system will do a configuration check and inform you about missing packages or configuration settings that need to be changed. Some examples that I have found useful (install from Webmin/Software Packages/Package from APT):

    • php5-curl
    • php5-gd
    • logwatch
    • php5-suhosin
    • netpbm
    • libjpeg-progs
    • ffmpeg
    • imagemagick
    • php5-geoip
    • libXext-dev
    • libpcre3-dev

    Perl modules (install from Webmin/Others/Perl Modules/From CPAN):

    • Captcha::reCAPTCHA::Mailhide
    • SOAP::Lite
    • Gravatar::URL
    • JSON
    • Mail::SpamAssassin
    • XML::LibXML

    PHP extensions - installed using the SSH command "pecl install [extension]":

    • uploadprogress - add "extension=uploadprogress.so" to php.ini (Virtualmin/Services/PHP 5 Configuration/Edit Configuration Manually)

    Apache modules can be enabled and disabled in Webmin/Servers/Apache Webserver/Configure Apache Modules. I suggest enabling the following two modules, which allow control over how long external sites can cache your pages:

    • expires
    • headers

    Don't forget to click "Apply Changes" at the top right afterwards.

    Tweaking performance and memory usage

    I strongly suggest testing your site with a (free) service such as Loadimpact to ensure it can withstand a sudden spike in traffic. If you find problems, here are some parameters to check:

    • "MaxClients" - should be tuned in file /etc/apache2/apache2.conf, accessible from Webmin/Servers/Apache Webserver/Global Configuration/Edit Config Files. If it's too large your server will run out of memory, if too small you will restrict simultaneous users
    • Reduce the number of server processes in the Processes and Limits screen to save RAM
    • In Webmin/Webmin Configuration/Advanced Options you can change the CPU priority for scheduled jobs
    • Enable Postfix Postscreen to prevent email spam without damaging performance or risking false positives

    Backups


    Virtualmin can do scheduled backups of all files, database contents and settings, locally or remotely. Set it up at Virtualmin/Backup and Restore/Scheduled Backup.

    Even if you don't have space anywhere for a full remote backup you should at least backup your settings and database contents regularly. In Backup Destinations add a path such as /var/backup/virtualmin_weekly_%Y-%m-%d and select option "Do strftime-style time substitutions on file or directory name".

    Webmin settings can also be saved on a scheduled backup, see Webmin/Backup Configuration Files/Scheduled backups.

    AutoMySQLBackup can be used to make daily rotated copies of your databases.

    You can easily copy all files including these database backups to your home PC (running Cygwin) or cloud storage using rdiff-backup (easily installed with apt-get) which includes version history, so that a deleted file is not immediately removed from all backups as well.

    References

    RootSudo - Ubuntu community help

    Locale - Ubuntu community help

    Virtualmin installation instructions

    Suhosin advanced PHP security

    Postfix Postscreen - How to enable and configure it to prevent spam

    Preventing backscatter (non-delivery records) from forwarded spam

    Fastcgi vs CGI vs mod_php - bit51 blog

    Faster, PHP! Kill! Kill! - P'unk Avenue blog

    More VPS tutorials
    Phil McKerracher

  3. #3
    Join Date
    Jun 2011
    Posts
    76
    Excellent guide! Thank you very much for sharing such a valuable information.

    Did you have any problem with the Virtualmin scheduled full backups files?
    The backup file look weird because it doesn't same with what i have in the public_html folder, it'll create hundred over new random folder to store all the files inside the public_html folder.

  4. #4
    Join Date
    Dec 2006
    Location
    London, UK
    Posts
    628
    I haven't had any problem restoring from a Virtualmin backup, no. That's how I do my migration when I upgrade my OS.
    Phil McKerracher

  5. #5
    Join Date
    Jun 2013
    Posts
    42
    Thank you very much. This tutorial is very helpful.

  6. #6
    Can I ask, how do you use virtualmin to install wordpress. I have seen references to this, but unable to find that option for ubuntu.

  7. #7
    Join Date
    Dec 2006
    Location
    London, UK
    Posts
    628
    Quote Originally Posted by lacrosse View Post
    Can I ask, how do you use virtualmin to install wordpress. I have seen references to this, but unable to find that option for ubuntu.
    Virtualmin doesn't have an automatic installation script for that (nor does Ubuntu) as far as I'm aware. I'm planning to add a new article about using CMS systems (WordPress, Drupal, Joomla) in the future. I agree more details about that are needed - a few plugins have to be installed to make them useful and secure, and there are lots of choices.

    Installing WordPress is fairly easy, though. Virtualmin creates a database for you when you create a virtual server for a new domain, so all you really need to do is download WordPress from https://wordpress.org/download/ and upload it to your public_html directory using the webmin file manager. Then you point a web browser at it and answer the installation questions about the database name and password, which you can find in virtualmin.
    Phil McKerracher

  8. #8
    To use the one click automated Wordpress installer you will need to buy the Virtualmin Pro, license which provides other popular Open Source projects as one click installs.

  9. #9
    Is virtualmin pro a better investment over softaculous

    @Phil would love to see your post..

  10. #10
    Virtualmin Pro paid version already comes with auto installer similar to Softaculous. Softaculous is just an auto-installer. The advantage is that Virtualmin is already a control panel which you will use to manage your VPS or physical server.

    There is also a free version of Virtualmin but it will have the limited version of the auto installer your looking for. I have used Virtualmin Pro for many years now to manage three VPS.

    I have used this tutorial to setup all of my VPS, there is a mention of Virtualmin Pro, install script.

    http://joealdeguer.com/installing-vi...bian-7-wheezy/

  11. #11
    Join Date
    Dec 2006
    Location
    London, UK
    Posts
    628
    Quote Originally Posted by average View Post
    Is virtualmin pro a better investment over softaculous

    @Phil would love to see your post..
    I haven't used either of those - generally if I can learn to do it myself I prefer that. Installing a CMS is very simple really, and you need to know how to update things to keep them secure anyway.
    Phil McKerracher

  12. #12
    Join Date
    Feb 2003
    Posts
    300

    Question

    Quote Originally Posted by Phil McKerracher View Post
    You will be taken through a post-installation wizard. The default answers will usually be fine although you may wish to select "Skip check for resolvability" beside "Primary Nameserver" and "Only store hashed passwords" for the "Password storage mode".

    You can follow the "Features and Plugins" link to deselect any features you won't use. Personally I deselect the following modules to save memory usage:

    • BIND DNS domain - I use the DNS nameservers supplied by my domain registrar
    • Webalizer reporting - I use Awstats and Piwik for analysing visitors
    • PostgreSQL database - I use MySQL because many scripts require it
    • ProFTPd virtual FTP - I use secure file transfers (SCP or SFTP) via SSH instead, for security and to preserve timestamps
    • Additional security

    Could you pls. be more specific about the disabling the default "Additional Security" installed by Webmin/Virtualmin? Thanks

  13. #13
    Join Date
    Dec 2006
    Location
    London, UK
    Posts
    628
    Sorry, that "Additional Security" bullet point is a formatting error, it should be the heading of the section immediately below it. I can't edit the above post now, but the latest version of the tutorial is at www.mckerracher.net/vps
    Phil McKerracher

Similar Threads

  1. Webmin / Virtualmin - Tutorial. It's easy and free
    By HostFill in forum Hosting Software and Control Panels Tutorials
    Replies: 11
    Last Post: 01-11-2014, 01:17 PM
  2. Need help with setting up Virtualmin NameServers
    By Jatinder in forum VPS Hosting
    Replies: 8
    Last Post: 07-07-2011, 02:51 PM
  3. Replies: 0
    Last Post: 12-27-2008, 05:05 PM
  4. Speed testing as a comparism when choosing host?
    By gnileux in forum Web Hosting
    Replies: 7
    Last Post: 09-04-2006, 08:27 AM
  5. Setting up FTP (Virtualmin)
    By whoim in forum Hosting Security and Technology
    Replies: 1
    Last Post: 06-09-2005, 11:23 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •