Install Config Wiki

All about installing, configuring and troubleshooting

User Tools

Site Tools


install_apache_mysql_php_linux_ubuntu_server

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
install_apache_mysql_php_linux_ubuntu_server [2020/06/07 19:39] wikiadmininstall_apache_mysql_php_linux_ubuntu_server [2020/06/08 04:18] – [Enable PHP Modules for NextCloud installation] wikiadmin
Line 1: Line 1:
-====== Installing Apache2 web server, MySql database server, and PHP language interpreters on Ubuntu Server ====== +====== Installing Apache2 web server, MySQL database server, and PHP language interpreterson Ubuntu Server ====== 
  
 You can install these with LAMP or XAMPP or install each separately using apt-get installer.  You can install these with LAMP or XAMPP or install each separately using apt-get installer. 
Line 16: Line 16:
 </code> </code>
  
-Install additional PHP modules that are required for your application.+Here are some additional PHP modules that may be required for your applications. [However see the discussion below regarding additional modules required to run NextCloud.
  
 <code>sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml</code> <code>sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml</code>
  
-Next we will install Apache2 web server and virtual hosts.+If you are planning to install NextCloud on your Ubuntu Server, then the above generally required modules are included in the expanded list of PHP modules that are recommended or required to run NextCloud from Apache and using PHP. 
 + 
 +==== Install the PHP Modules that are Prerequisites for NextCloud installation ==== 
 + 
 +If you plan to install NextCloud to run on a virtual host from Apache web server, then you should install the following PHP modules that are either recommended or required as prerequisites for the proper functioning of NextCloud.  Ensure that you manually enable each of these modules in the php.ini file for purposes of running NextCloud. This involves removing the appropriate #comment marks in php.ini to enable the appropriate modules. There should obviously be other PHP modules to enable for the general operation of PHP as necessary for other websites' applications running from Apache web server on this Ubuntu server. 
 + 
 +<code>sudo apt install php-imagick php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl  php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl</code> 
 + 
 +After the installation of these PHP modules, you may see a notice like the following: 
 + 
 +Notice: Not enabling PHP 7.4 FPM by default.  
 +Notice: To enable PHP 7.4 FPM in Apache2 do: 
 +Notice: a2enmod procy fcgi set enfiv 
 +Notice: a2enconf php7.4*fpm 
 +Notice: You are seeing this message because you have apache2 package installed. 
 + 
 +The apache2 package that is installed and the notice is referring to is the package that was just installed with the installation of PHP 7.4.  
 + 
 +Note that if Apache server was already installed before you found this guide, then you should **reload Apache2 servic**e to use these newly installed PHP modules: 
 + 
 +<code>sudo systemctl reload apache2</code>  
 + 
 +Next we will install Apache2 web server and configure Virtual Hosts.
  
 ===== Installing Apache2 and Creating Apache VirtualHost =====   ===== Installing Apache2 and Creating Apache VirtualHost =====  
Line 28: Line 50:
 <code> <code>
 sudo apt-get update sudo apt-get update
 +
 sudo apt-get install apache2 sudo apt-get install apache2
 </code> </code>
  
 +Also (OR INSTEAD) install libapache2-mod-php module to work PHP with Apache2. [Go research this]
 +
 +Enter the following to install it:
 +
 +<code>sudo apt install apache2 libapache2-mod-php7.4</code>
 ==== Creating Apache VirtualHost ==== ==== Creating Apache VirtualHost ====
  
Line 75: Line 103:
 </VirtualHost> </VirtualHost>
 </code> </code>
 +
 +Create the appropriate directory structure in the file system, in accordance with the path specified in the above virtual host.conf file, and assign or grant the appropriate file permissions for the Apache webserver user (namely www-data:www-data).
 +
 +<code>
 +mkdir -p /var/www/www1.example.com/httpdocs
 +chmod 755 /var/www/www1.example.com/httpdocs
 +chown www-data.www-data /var/www/www1.example.com/httpdocs
 +</code> 
 +
 +You can now upload your project files (website) on **/var/www/www1.example.com/httpdocs/** directory. For example, create a default page **index.html** file to test virtual host configuration, such as follows:
 +
 +<code>
 +echo "<h1>site1.example.com</h1>" > /var/www/www1.example.com/httpdocs/index.html
 +</code>
 +
 +==== Next - Enable the First VirualHost ====
 +
 +Remember that we configured the first VirtualHost file under the /etc/apache2/sites-available/ directory.  However, it is necessary to enable or activate the VirtualHost under the /etc/apache2/sites-enabled/ directory (an apache directory to which there is no permission for direct access).
 +
 +Adjust the site-name and use the following command to enable this VirtualHost so that Apache can load this enabled configuration file when the Apache service is restarted (reloaded). so, to enable the new configuration VitualHost, adjust the site-name and run the following from the command line:
 +
 +<code>a2ensite site1.example.com</code>
 +
 +This enables the site in **/etc/apache2/sites-enabled**/
 +
 +To activate the new configuration by reloading Apache (to bring the site 'live' in the Apache web service), enter the following command:
 +
 +<code>service apache2 reload</code> 
 +
 +You will need to setup DNS address entries for this 'domain' and host header.  
 +
 +If you do not have the DNS ready, you can temporarily map the domain by making an entry in the /etc/hosts files.
 +
 +<code>
 +
 +192.168.2.163  www1.example.com
 +
 +</code>
 +
 +==== Creating Additional Virtual Hosts ====
 +
 +Repeat the above steps for site www1 by changing the site-name to whatever it will be, such as www2.exmample.com
  
  
install_apache_mysql_php_linux_ubuntu_server.txt · Last modified: 2020/06/08 23:20 by wikiadmin