<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>server Archives -</title>
	<atom:link href="https://zymitry.com/tag/server/feed/" rel="self" type="application/rss+xml" />
	<link>https://zymitry.com/tag/server/</link>
	<description>Tech &#38; Other Stuff</description>
	<lastBuildDate>Sat, 11 Jan 2025 02:02:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.3</generator>

<image>
	<url>https://i0.wp.com/zymitry.com/wp-content/uploads/2016/11/favicon.png?fit=32%2C32&#038;ssl=1</url>
	<title>server Archives -</title>
	<link>https://zymitry.com/tag/server/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">120106411</site>	<item>
		<title>LAMP Basic on Ubuntu 16.04. Short Essential Version</title>
		<link>https://zymitry.com/lamp-basic-ubuntu-16-04-essential/</link>
					<comments>https://zymitry.com/lamp-basic-ubuntu-16-04-essential/#respond</comments>
		
		<dc:creator><![CDATA[Greg Palmer]]></dc:creator>
		<pubDate>Wed, 17 May 2017 02:57:35 +0000</pubDate>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[16.04]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://zymitry.com/?p=745</guid>

					<description><![CDATA[<p>LAMP (Basic) on Ubuntu 16.04. Short Essential Version LAMP (Linux, Apache, MySQL, PHP) The more detailed version of this LAMP (Basic) Installation on Ubuntu 16.04 Server can be found here&#8230; Basic Server Configuration Set root password [simterm]sudo passwd root[/simterm] Enter sudo password, then new root password twice at each prompt Update Ubuntu 16.04 [simterm]sudo apt-get update[/simterm] [simterm]sudo… <span class="read-more"><a href="https://zymitry.com/lamp-basic-ubuntu-16-04-essential/">Read More: LAMP Basic on Ubuntu 16.04. Short Essential Version &#187;</a></span></p>
<p>The post <a href="https://zymitry.com/lamp-basic-ubuntu-16-04-essential/">LAMP Basic on Ubuntu 16.04. Short Essential Version</a> appeared first on <a href="https://zymitry.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>LAMP (Basic) on Ubuntu 16.04. Short Essential Version</h2>
<p>LAMP (Linux, Apache, MySQL, PHP)</p>
<p>The more detailed version of this LAMP (Basic) Installation on Ubuntu 16.04 Server can be found <a href="http://zymitry.com/basic-lamp-ubuntu-16_04-server/">here&#8230;</a></p>
<p><strong>Basic Server Configuration</strong></p>
<p><strong>Set root password</strong></p>
<p>[simterm]sudo passwd root[/simterm]</p>
<p>Enter sudo password, then new root password twice at each prompt</p>
<p><strong>Update Ubuntu 16.04</strong></p>
<p>[simterm]sudo apt-get update[/simterm]</p>
<p>[simterm]sudo apt-get upgrade[/simterm]</p>
<p><strong>Check and Edit Network Configuration</strong></p>
<p>[simterm]sudo nano /etc/network/interfaces[/simterm]</p>
<pre class="brush: xml; title: ; notranslate">
iface eth0 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        network 192.168.1.1
        broadcast 192.168.1.255
        gateway 192.168.1.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 8.8.8.8 8.8.4.4
        dns-search search google-public-dns-a.google.com search
</pre>
<p><strong>Restart Network Service</strong></p>
<p>[simterm]sudo ifdown eth0 &amp;&amp; ifup eth0[/simterm]</p>
<p><strong>Log Into Root Terminal</strong><br />
[simterm]sudo su -[/simterm]</p>
<p><strong>Download, Install, and Setup Apache 2 Web server</strong></p>
<p>[simterm]apt-get install apache2 apache2-utils[/simterm]</p>
<p><strong>Ensure Function</strong></p>
<p>Browser: http://192.168.1.10</p>
<p><strong>Create web site directories and set ownership and permissions</strong></p>
<p>[simterm]mkdir -p /var/www/mydomain.home/public_html[/simterm]</p>
<p>[simterm]usermod -a -G www-data maint[/simterm]</p>
<p>[simterm]chown www-data:www-data /var/www/mydomain.home/public_html[/simterm]</p>
<p>[simterm]chmod -R 755 /var/www/mydomain.home/public_html[/simterm]</p>
<p><strong>Create virtual host configuration file and configure web information for web site</strong></p>
<p>[simterm]cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mydomain.home.conf[/simterm]</p>
<p>[simterm]nano/etc/apache2/sites-available/mydomain.home.conf[/simterm]</p>
<p>mydomain.home.conf configuration information</p>
<pre class="brush: xml; title: ; notranslate">
&lt;VirtualHost *:80&gt;
    ServerAdmin user@legitemail.com
    ServerName web.mydomain.home
    ServerAlias www.mydomain.home
    DocumentRoot /var/www/mydomain.home/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;
</pre>
<p><strong>Enable new virtual host</strong></p>
<p>[simterm]a2ensite mydomain.home.conf[/simterm]</p>
<p><strong>Disable Apache default site</strong></p>
<p>[simterm]a2dissite 000-default.conf[/simterm]</p>
<p><strong>Restart apache service</strong></p>
<p>[simterm]systemctl restart apache2[/simterm]</p>
<p><strong> Test new virtual host. Create test index.html page</strong></p>
<p>[simterm]nano /var/www/mydomain.home/public_html/index.html[/simterm]</p>
<p>Copy html into the file</p>
<pre class="brush: xml; title: ; notranslate">
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;Welcome to my domain home page !&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;Success!  The mydomain.home virtual host is working!&lt;/h1&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Check function, with web browser navigate to http://192.168.1.10 and ensure that the new test page is displayed</p>
<p><strong> Install and Configure MariaDB</strong></p>
<p>[simterm]apt-get install mariadb-client mariadb-server openssl binutils[/simterm]</p>
<p><strong> Fire off secure installation and answer questions</strong><br />
[simterm]mysql_secure_installation[/simterm]</p>
<pre class="brush: xml; title: ; notranslate">
Answers for Secure Installation Questions
 
Enter current password for root (enter for none): -- (enter)
Set root password? &#x5B;Y/n] -- (y)
New password: -- (desiredpassword)
Re-enter new password: -- (desiredpassword)
Remove anonymous users? &#x5B;Y/n] -- (y)
Disallow root login remotely? &#x5B;Y/n] -- (y)
Reload privilege tables now? &#x5B;Y/n] -- (y)
</pre>
<p><strong> Restart mariadb service</strong></p>
<p>[simterm]systemctl restart mysql[/simterm]</p>
<p><strong>Ensure SQL service is functioning correctly</strong></p>
<p>[simterm]netstat -tap | grep mysql[/simterm]</p>
<p><strong>Install, Enable, and Test PHP 7</strong></p>
<p>[simterm]apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl libapache2-mod-php7.0[/simterm]</p>
<p><strong>Enable Apache PHP Module</strong></p>
<p>[simterm]a2enmod php7.0[/simterm]</p>
<p><strong>Test PHP by creating a phpinfo page</strong></p>
<p>[simterm]nano /var/www/mydomain.home/public_html/phpinfo.php[/simterm]</p>
<p>Copy the following code snippet into the page</p>
<pre class="brush: php; title: ; notranslate">
## Use the following code snippet

&lt;?php phpinfo(); ?&gt;
</pre>
<p><strong> Ensure PHP is functioning. </strong></p>
<p>Use browser to navigate to http://192.168.1.10/phpinfo.php</p>
<p>PHP Information and Configuration page should display</p>
<p><strong>Finished</strong></p>
<p>For a more detailed version, check out the detailed LAMP (Basic) Installation on Ubuntu 16.04 Server found <a href="http://zymitry.com/basic-lamp-ubuntu-16_04-server/">here&#8230;</a></p>
<p>&nbsp;</p>
<p>References</p>
<p><a href="https://web.archive.org/web/20211123043246/https://www.howtoforge.com/tutorial/perfect-server-ubuntu-16.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/" target="_blank" rel="noopener noreferrer">The Perfect Server &#8211; Ubuntu 16.04 (Xenial Xerus) with Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot and ISPConfig 3.1</a></p>
<p><a href="https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04" target="_blank" rel="noopener noreferrer">How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 16.04</a></p>
<p>Install LAMP on Ubuntu 16.04</p>
<p>The post <a href="https://zymitry.com/lamp-basic-ubuntu-16-04-essential/">LAMP Basic on Ubuntu 16.04. Short Essential Version</a> appeared first on <a href="https://zymitry.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zymitry.com/lamp-basic-ubuntu-16-04-essential/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">745</post-id>	</item>
		<item>
		<title>LAMP Basic Installation on Ubuntu 16.04 Server</title>
		<link>https://zymitry.com/basic-lamp-ubuntu-16_04-server/</link>
					<comments>https://zymitry.com/basic-lamp-ubuntu-16_04-server/#respond</comments>
		
		<dc:creator><![CDATA[Greg Palmer]]></dc:creator>
		<pubDate>Wed, 17 May 2017 02:55:26 +0000</pubDate>
				<category><![CDATA[Configurations]]></category>
		<category><![CDATA[16.04]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://zymitry.com/?p=513</guid>

					<description><![CDATA[<p>LAMP (Basic) Installation on Ubuntu 16.04 Server LAMP is a very popular server configuration already covered by countless tutorials and HowTo&#8217;s readily found with a basic web search. The following tutorial was constructed on request from several colleagues and fellow students who want to setup a basic LAMP server for lab, or home use. YES, I… <span class="read-more"><a href="https://zymitry.com/basic-lamp-ubuntu-16_04-server/">Read More: LAMP Basic Installation on Ubuntu 16.04 Server &#187;</a></span></p>
<p>The post <a href="https://zymitry.com/basic-lamp-ubuntu-16_04-server/">LAMP Basic Installation on Ubuntu 16.04 Server</a> appeared first on <a href="https://zymitry.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>LAMP (Basic) Installation on Ubuntu 16.04 Server</h2>
<p>LAMP is a very popular server configuration already covered by countless tutorials and HowTo&#8217;s readily found with a basic web search. The following tutorial was constructed on request from several colleagues and fellow students who want to setup a basic LAMP server for lab, or home use.</p>
<p>YES, I am well aware that there are several, possibly better in some ways, procedures for installation and configuration of LAMP. This is just one variant I have used that I know works.</p>
<p>First, giving credit where credit is due. The information used for this article was taken from several sources  too numerous to list all of them. The primary sources come from the most excellent <a href="https://web.archive.org/web/20211123043246/https://www.howtoforge.com/tutorial/perfect-server-ubuntu-16.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/" target="_blank" rel="noopener noreferrer">&#8220;Perfect Server&#8221;</a> series of articles, Digital Oceans <a href="https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04" target="_blank" rel="noopener noreferrer">LAMP stack on Ubuntu 16.04</a>, and Linodes LAMP on Ubuntu 16.04</p>
<p>For those comfortable with installation and configuration, and just want the steps and commands used, you can find the short essential version of this configuration <a href="http://zymitry.com/lamp-basic-ubuntu-16-04-essential/" target="_blank" rel="noopener noreferrer">here&#8230;</a></p>
<p><em><strong>Disclaimer:</strong> Any mistakes or misinformation that the article may contain are my sole responsibility, and not the fault of any of the authors of source material. Additionally, all information in the article pertains to a known and verified working configuration. Every effort has been made to ensure that the information provided is accurate and up to date, but there may be instances where commands or parts of the procedure do not works as intended. Any mistakes or misinformation is unintentional. For this reason any person or entity that uses the information provided in this article does so at their own risk.</em><br />
For those that are comfortable with installing and configuring, and just want a quick reference of steps and commands, I have created a short essential version of this LAMP configuration that can be accessed here</p>
<p><strong>Configuration Information</strong></p>
<p>The following is sample user, network, and domain, information used in the article. Wherever applicable, substitute you own information:</p>
<p>Domain = mydomain.home</p>
<p>Hostname = web</p>
<p>Server IP = 192.168.1.10</p>
<p>Netmask = 255.255.255.0</p>
<p>Gateway = 192.168.1.1</p>
<p>DNS (Google) = 8.8.8.8 and 8.8.4.4</p>
<p>Initial sudo user account = maint</p>
<p>Password = chosenpassword</p>
<p>&nbsp;</p>
<p><strong>Assumptions</strong></p>
<p>A working machine with Ubuntu 16.04 Server installed and a working Internet connection.</p>
<p><strong>Suggested</strong></p>
<p>Another computer that has the Putty terminal application so you can configure while sitting in an office chair with your feet up instead of standing in front of a terminal.</p>
<p><b>Helpful</b></p>
<p>Access to another computer with Internet access that can be used to research any possible glitches that might pop-up</p>
<p>&nbsp;</p>
<p><strong>Some Basic Server Configuration</strong></p>
<p>It is a good idea to update the OS and make sure the root password is set.</p>
<p>[simterm]maint@web:~$ sudo apt-get update[/simterm]<br />
[simterm]maint@web:~$ sudo apt-get upgrade[/simterm]</p>
<p>&nbsp;</p>
<p>Set the root password<br />
[simterm]maint@web:~$ sudo passwd root[/simterm]</p>
<p>At the prompt, enter the maint sudo password if requested, and then enter the desired root password the first time, and then enter it a second time at the request prompt</p>
<p>&nbsp;</p>
<p>At this point, if you had chosen to configure the network interface manually during installation, you can fire up Putty on a remote machine such as your favorite desktop machine, and log into your server remotely via SSH.</p>
<p>If you had chosen to configure networking via auto-configuration, no worries. After initial login simply run ifconfig in the terminal and get the servers current IP address. You can use this address to connect via Putty, or continue using the local terminal.<br />
[simterm]maint@web:~$ ifconfig[/simterm]</p>
<p>To clarify, the, IP address is the <em>inet addr</em> of the Ethernet link (Link encap:Ethernet).  Make sure and use your <em>inetaddr</em> in any applicable steps that follow</p>
<p>Now it is time to tweak network  settings.</p>
<p>If you chose to auto-configure the network during installation, this is where you will configure the network for a static IP address and other network configuration information. This is also where you can add additional DNS options if desired:</p>
<p>&nbsp;</p>
<p><strong>Example</strong></p>
<p>Use the text editor Nano to open the network configuration file.<br />
[simterm]maint@web:~$ sudo nano /etc/network/interfaces[/simterm]</p>
<p>Edit the configuration with the required configuration information</p>
<pre class="brush: xml; title: ; notranslate">
iface eth0 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        network 192.168.1.1
        broadcast 192.168.1.255
        gateway 192.168.1.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 8.8.8.8 8.8.4.4
        dns-search search google-public-dns-a.google.com search
</pre>
<p>&nbsp;</p>
<p>When finished, save the file and close nano.</p>
<p>Save the file = Ctrl o</p>
<p>Confirm = y</p>
<p>Exit = Ctrl x</p>
<p>&nbsp;</p>
<p>Restart network services<br />
[simterm]maint@web:~$ sudo ifdown eth0 &amp;&amp; ifup eth0[/simterm]</p>
<p>&nbsp;</p>
<h2>LAMP &#8211; Download, Install, and Setup Apache 2 Webserver</h2>
<p>Since we are going to be downloading and installing several applications, it is a bit simpler to run them from a root shell to eliminate the sudo part of commands:</p>
<p>[simterm]maint@web:~$ sudo su -[/simterm]<br />
Enter the sudo password.</p>
<p>root shell<br />
[simterm]root@web:~# [/simterm]<br />
<strong>Install Apache</strong><br />
Install Apache with the following command:</p>
<p>[simterm]root@web# apt-get install apache2 apache2-utils[/simterm]<br />
After installation is complete, check and see if Apache is running. Open a web browser and direct the address to your server</p>
<p>http://192.168.1.10</p>
<p>You should get the Apache2 default sample page</p>
<p><strong>Configure your web site</strong></p>
<p>The first step is to create a directory for your site. In this article we will create our directory within the default web file path, but not in the default html directory. This way your web site and the default site are kept separate</p>
<p>[simterm]root@web:~# mkdir -p /var/www/mydomain.home/public_html[/simterm]<br />
Set group and folder permission</p>
<p>Add user maint to the www-data group and set permissions on your web site folder. (Note, the following usually work correctly, but if FTP will be used to upload web pages, permissions may need to be adjusted):</p>
<p>Add maint to www-data group and grant permissions in the group<br />
[simterm]root@web:~#root@web:~# usermod -a -G www-data maint[/simterm]</p>
<p>Set ownership of the web folder to group www-data<br />
[simterm]root@web:~# chown www-data:www-data /var/www/mydomain.home/public_html[/simterm]</p>
<p>Set permissions on the web folder<br />
[simterm]root@web:~# chmod -R 755 /var/www/mydomain.home/public_html[/simterm]<br />
Create an Apache virtual host configuration file from the default installed during the apache installation. Use copy/paste renaming the destination file to your domain config name. NOTE: the name can pretty much be what you want as long as it ends with .conf<br />
[simterm]root@web:~# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mydomain.home.conf[/simterm]</p>
<p>Open the new config file with nano. Below is an example of the virtual host configuration inside the mydomain.home.conf file. The configuration file will contain a lot of configuration documentation which can make it look a bit intimidating. The important thing is to ensure that all configuration information is between the virtual host tags. You may not have to edit the last few lines. Edit the configuration file between the virtual host tags to match the following example, and ignore the rest for now. Use your email address for the ServerAdmin email:</p>
<p>[simterm]root@web:~# nano/etc/apache2/sites-available/mydomain.home.conf[/simterm]</p>
<pre class="brush: xml; title: ; notranslate">
&amp;amp;amp;amp;lt;VirtualHost *:80&amp;amp;amp;amp;gt;
    ServerAdmin user@legitemail.com
    ServerName web.mydomain.home
    ServerAlias www.mydomain.home
    DocumentRoot /var/www/mydomain.home/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
&amp;amp;amp;amp;lt;/VirtualHost&amp;amp;amp;amp;gt;
</pre>
<p>When finished, save the file and close nano.</p>
<p>Save the file = Ctrl o</p>
<p>Confirm = y</p>
<p>Exit = Ctrl x</p>
<p>&nbsp;</p>
<p>Enable the site in Apache<br />
[simterm]root@web:~# a2ensite mydomain.home.conf[/simterm]<br />
Disable the default Apache site<br />
[simterm]root@web:~# a2dissite 000-default.conf[/simterm]<br />
Restart Apache 2 service to apply the configuration change<br />
[simterm]root@web:~# systemctl restart apache2[/simterm]<br />
If everything restarts with no errors it is time to test your new virtual host. To do this we will use nano to create a basic html index file:<br />
[simterm]root@web:~# nano /var/www/mydomain.home/public_html/index.html[/simterm]<br />
Type or copy / paste the following into the new file:</p>
<pre class="brush: xml; title: ; notranslate">
&amp;amp;amp;amp;lt;html&amp;amp;amp;amp;gt;
  &amp;amp;amp;amp;lt;head&amp;amp;amp;amp;gt;
    &amp;amp;amp;amp;lt;title&amp;amp;amp;amp;gt;Welcome to my domain home page !&amp;amp;amp;amp;lt;/title&amp;amp;amp;amp;gt;
  &amp;amp;amp;amp;lt;/head&amp;amp;amp;amp;gt;
  &amp;amp;amp;amp;lt;body&amp;amp;amp;amp;gt;
    &amp;amp;amp;amp;lt;h1&amp;amp;amp;amp;gt;Success!  The mydomain.home virtual host is working!&amp;amp;amp;amp;lt;/h1&amp;amp;amp;amp;gt;
  &amp;amp;amp;amp;lt;/body&amp;amp;amp;amp;gt;
&amp;amp;amp;amp;lt;/html&amp;amp;amp;amp;gt;
</pre>
<p>Save and close Nano</p>
<p>Save the file = Ctrl o</p>
<p>Confirm = y</p>
<p>Exit = Ctrl x</p>
<p>After the index.html file has been created and saved, check and ensure that the site is active and displays the web page we just created. Open a web browser and direct the address to your server</p>
<p>http://192.168.1.10</p>
<p>You should get the new index page.</p>
<p>Note: local access to your site is based primarily on the default site being disabled. Multiple virtual hosts on a local network are dependent on more configuration including DNS adjustments. If this site is the only site you are going to run on your local network, you can use the site name or the machine IP to access it as long as the default site is disabled.</p>
<h2><img data-recalc-dims="1" fetchpriority="high" decoding="async" class="alignnone wp-image-673" src="https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/web_page_success.png?resize=515%2C187&#038;ssl=1" alt="web_page_success" width="515" height="187" srcset="https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/web_page_success.png?resize=300%2C109&amp;ssl=1 300w, https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/web_page_success.png?resize=768%2C279&amp;ssl=1 768w, https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/web_page_success.png?resize=665%2C241&amp;ssl=1 665w, https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/web_page_success.png?w=783&amp;ssl=1 783w" sizes="(max-width: 515px) 100vw, 515px" /><br />
LAMP &#8211; Install and Configure MariaDB</h2>
<p>The &#8220;M&#8221; part of LAMP usually refers to &#8220;MySQL&#8221;. Through a series of events MySQL is now owned by Oracle. It could be argued that this is, or this is not, a bad thing. This argument is beyond the scope of this article. In the spirit of the open source community, the original creators of MySQL created a replacement that is still completely free and open source named MariaDB. MariaDB is full-featured drop in replacement for MySQL. The commands are standard SQL commands, and the folder hierarchy even uses MySQL structure and file names. In other words, MariaDB is a free replacement of MySQL that is for all intents and purposes a mirror replacement.</p>
<p>Install MariaDB<br />
[simterm]root@web:~# apt-get install mariadb-client mariadb-server openssl binutils[/simterm]<br />
When the installation is finished, the next step is to fire off the Secure Installation configuration:<br />
[simterm]root@web:~# mysql_secure_installation[/simterm]</p>
<p>The Secure Installation will ask a series of questions. The following shows the responses:</p>
<pre class="brush: xml; title: ; notranslate">
Answers for Secure Installation Questions

Enter current password for root (enter for none): -- (enter)
Set root password? &#x5B;Y/n] -- (y)
New password: -- (desiredpassword)
Re-enter new password: -- (desiredpassword)
Remove anonymous users? &#x5B;Y/n] -- (y)
Disallow root login remotely? &#x5B;Y/n] -- (y)
Reload privilege tables now? &#x5B;Y/n] -- (y)
</pre>
<p>&nbsp;</p>
<p>A quick configuration edit with Nano<br />
[simterm]root@web:~# nano /etc/mysql/mariadb.conf.d/50-server.cnf[/simterm]</p>
<p>Find the line: bind-address 127.0.0.1</p>
<p>Comment this line out with a # at the beginning. Alternately, I have also seen where instead of commenting this line out, change the 127.0.0.1 value to 0.0.0.0</p>
<pre class="brush: xml; title: ; notranslate">Comment out this line:

#bind-address      127.0.0.1
</pre>
<p>Save and close Nano</p>
<p>Save the file = Ctrl o</p>
<p>Confirm = y</p>
<p>Exit = Ctrl x</p>
<p>Restart MariaDB service to apply the configuration change<br />
[simterm]root@web:~# systemctl restart mysql[/simterm]<br />
Ensure the SQL service is running correctly:<br />
[simterm]netstat -tap | grep mysql [/simterm]<br />
You should get a response similar to the below:</p>
<p><img data-recalc-dims="1" decoding="async" class="alignnone wp-image-709" src="https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/sqlgrep.png?resize=665%2C29&#038;ssl=1" alt="sqlgrep" width="665" height="29" srcset="https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/sqlgrep.png?resize=300%2C13&amp;ssl=1 300w, https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/sqlgrep.png?resize=665%2C29&amp;ssl=1 665w, https://i0.wp.com/zymitry.com/wp-content/uploads/2017/05/sqlgrep.png?w=766&amp;ssl=1 766w" sizes="(max-width: 665px) 100vw, 665px" /></p>
<p>&nbsp;</p>
<h2>LAMP &#8211; Install, Enable, and Test PHP 7</h2>
<p>The following command will install PHP 7 which is the latest version. NOTE: there are several other PHP modules available not installed in the article instructions. I recommend that you visit <a href="https://web.archive.org/web/20211123043246/https://www.howtoforge.com/tutorial/perfect-server-ubuntu-16.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/">Perfect Ubuntu &#8211; 16.04 Server</a> if you are wanting to install advanced PHP modules and options.</p>
<p>Install PHP 7:</p>
<p>[simterm]root@web:~# apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl libapache2-mod-php7.0[/simterm]</p>
<p>&nbsp;</p>
<p>When the installation completes, we want to enable it in Apache:</p>
<p>[simterm]root@web:~# a2enmod php7.0[/simterm]</p>
<p>&nbsp;</p>
<p>The next step is somewhat optional, but is a good way to test and ensure PHP is working on your server.</p>
<p>Use Nano to create a phpinfo.php file:</p>
<p>[simterm]root@web:~# nano /var/www/mydomain.home/public_html/phpinfo.php[/simterm]</p>
<p>Copy the following snippet into the file:</p>
<pre class="brush: php; title: ; notranslate">## Copy the snippet of PHP code below

&amp;amp;amp;amp;lt;?php phpinfo(); ?&amp;amp;amp;amp;gt;

</pre>
<p>&nbsp;</p>
<p>Save and close Nano</p>
<p>Save the file = Ctrl o</p>
<p>Confirm = y</p>
<p>Exit = Ctrl x</p>
<p><strong>Test</strong></p>
<p>In a web browser, go to http://192.168.1.10/phpinfo.php?</p>
<p>If everything installed correctly, you should get the PHP information and Configuration page.</p>
<p><strong>Finished</strong></p>
<p>&nbsp;</p>
<p><strong>Next Steps:</strong></p>
<p>For those that are comfortable with installing and configuring, and just want a quick reference of steps and commands, I have created a short essential version of this LAMP configuration that can be accessed <a href="http://zymitry.com/lamp-basic-ubuntu-16-04-essential/" target="_blank" rel="noopener noreferrer">here&#8230;</a></p>
<p>&nbsp;</p>
<p><strong>Take it to the next level..</strong></p>
<p>Now that you have a basic LAMP server setup, your should consider additional services. Below are just a few recommended applications to add ease and functionality:</p>
<p>Install phpMyAdmin. This is a web GUI front end for managing your databases. Very useful.</p>
<p>Install an FTP server. This can be helpful in many ways, but especially useful for moving files between your computer and the web server.</p>
<p>Want to add some basic security to your FTP server? Install and configure fail2ban.</p>
<p>Another useful tool for those that still want to be able to administer their server with a GUI interface, try Webmin.</p>
<p>Want to add a printer to you configuration? Use what was once known as the Common Unix Printing System (CUPS).</p>
<p><strong>Other Options:</strong></p>
<p>Consider an internal caching DNS server with DHCP</p>
<p>Want to learn about installing, configuring, and using Content Management Systems (CMS)&#8217;s. Popular CMS&#8217;s like WordPress, Drupal, and Joomla all readily install on a LAMP server</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://zymitry.com/basic-lamp-ubuntu-16_04-server/">LAMP Basic Installation on Ubuntu 16.04 Server</a> appeared first on <a href="https://zymitry.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zymitry.com/basic-lamp-ubuntu-16_04-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">513</post-id>	</item>
		<item>
		<title>Service-Oriented Architecture (SOA) Web Services</title>
		<link>https://zymitry.com/soa-web-services/</link>
					<comments>https://zymitry.com/soa-web-services/#respond</comments>
		
		<dc:creator><![CDATA[Greg Palmer]]></dc:creator>
		<pubDate>Tue, 29 Nov 2016 20:40:55 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[black-box]]></category>
		<category><![CDATA[coupled]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[service-oriented]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">http://zymitry.com/?p=338</guid>

					<description><![CDATA[<p>Service-Oriented Architecture (SOA) Web Services Service-Oriented Architecture (SOA) is a system of solutions characterized in terms of one or more services. Web services as a type of SOA allow programmers to use web services within their programs to perform specific functions. The following are features and benefits of SOA: The Service feature provides the benefits… <span class="read-more"><a href="https://zymitry.com/soa-web-services/">Read More: Service-Oriented Architecture (SOA) Web Services &#187;</a></span></p>
<p>The post <a href="https://zymitry.com/soa-web-services/">Service-Oriented Architecture (SOA) Web Services</a> appeared first on <a href="https://zymitry.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Service-Oriented Architecture (SOA) Web Services</h2>
<p>Service-Oriented Architecture (SOA) is a system of solutions characterized in terms of one or more services. Web services as a type of SOA allow programmers to use web services within their programs to perform specific functions.</p>
<h4>The following are features and benefits of SOA:</h4>
<ul>
<li>The Service feature provides the benefits of improved information flow, the ability to safely expose an internal function, and organization flexibility. SOA provides a way to offer software services over the Internet and the world-wide web.</li>
</ul>
<ul>
<li>Service Re-use that has the benefit of lowering software development and management costs.</li>
</ul>
<ul>
<li>Messaging that provides configuration flexibility by providing a way for systems to communicate with each other in a standardized way.</li>
</ul>
<ul>
<li>Message monitoring that provides the benefit of business intelligence, performance measurement, and security attack detection.</li>
</ul>
<ul>
<li>Message control which allows the application of management and security policies.</li>
</ul>
<ul>
<li>Message transformation which is the conversion of data from one format to another through automated field mapping.</li>
</ul>
<ul>
<li>Message security through encryption and cryptographic integrity-check fields.</li>
</ul>
<ul>
<li>Complex event processing. Services can respond to events from other sources. For example, a financial information service might respond to stock-price changes, or a manufacturing production-control service might respond to production process events, such as changes in temperature of the materials being processed.</li>
</ul>
<ul>
<li>Service composition by putting together of a number of simple services to make a more complex one.</li>
</ul>
<ul>
<li>Service discovery which allows a program to discover services at run time instead of having to be pre-programmed. This provides the ability to optimize performance, functionality, and cost, and easier upgrades of systems since upgraded systems can be offered in parallel with older systems.</li>
</ul>
<ul>
<li>Asset wrapping where assets and components are assembled to form a software service. The ability to integrate existing assets provides the benefit of preserving the value of an enterprise’s existing assets, the cost of developing or acquiring replacements is avoided, and there is a smooth migration path from the old architecture to new ones.</li>
</ul>
<ul>
<li>Example: hypervisors that can provide different operating system environments.</li>
</ul>
<ul>
<li>Model driven implementation which provides the ability to develop new functions rapidly.</li>
</ul>
<p>&nbsp;</p>
<h4>The disadvantages of SOA are as follows:</h4>
<ul>
<li>SOA is not suitable for applications with GUI functionalities. These applications require heavy data exchange which makes them much more complex.</li>
</ul>
<ul>
<li>Applications that use asynchronous communication do not work very well with SOA.</li>
</ul>
<ul>
<li>Standalone and short lived application implementations are not well suited for SOA. The development of an SOA for these applications is not worth the time and cost to create them.</li>
</ul>
<p>&nbsp;</p>
<h4>SOA Web Services</h4>
<p>Programmers use web services to provide specific services across the web for other programs. Web services are intended specifically for other services and not users. Web services typically are used by programmers to create programs to perform tasks that require another company or organization, example; credit card processing for an eCommerce vendor, or for checking a supplier’s inventory. In the first example a customer would order an item from an eCommerce vendor and pay for it using a credit card. The vendors system would have code that would contact the credit card company system to process the details of the transaction then send the results back. The second example, a customer looking for an item wants to know if an item is in stock. The vendor does not physically carry the item but rather processes the order and has it drop shipped directly from the supplier. In this case the vendors system can check with the suppliers system and verify if the item is in stock. In these examples, the vendor is contacting the web services of another company whose system actually processes the request then sends the results back across the internet to the vendor. All the functions and processing is transparent to the users who only see the results in a web page. Web services use what is known as loose coupling to be able to communicate with systems from different organizations. The idea is that with a web service, a program only needs to know the location (URL) of the web service, the web services functions, and parameters, to pass to the web service function. A Web Service Description Language (WDSL) file tells the program requesting web services what functions are available, parameter types, and other information that defines how the systems will communicate with each other. This loose coupling architecture allows systems from different organizations using different architectures and platforms to communicate and use functions provided over the web.</p>
<p>&nbsp;</p>
<h4>Web Service Roles</h4>
<p>Web service architecture can be viewed either as individual roles of each service, or by examining the emerging Web Service Protocol Stack.</p>
<p>There are three major roles within the web service architecture as follows:</p>
<ul>
<li>The Service Provider who implements the service and makes it available on the Internet.</li>
</ul>
<ul>
<li>The Requestor who utilizes the service by opening a network connection and sending a request.</li>
</ul>
<ul>
<li>Service Registry which is a centralized directory of services that provides a central place where developers can publish new services or find existing ones.</li>
</ul>
<p>The Web Service Protocol Stack (WSPS) is still evolving but currently has four layers that are as follows:</p>
<ul>
<li>The Service Transport layer which is responsible for transporting messages between applications.</li>
</ul>
<ul>
<li>The XML Messaging layer responsible for encoding messages in a common XML format so that messages can be understood at either end.</li>
</ul>
<ul>
<li>The Service Description layer is responsible for describing the public interface to a specific web service using the previously described WSDL.</li>
</ul>
<ul>
<li>The Service Discovery layer that is responsible for centralizing services into a common registry and providing easy publish/find functionality.</li>
</ul>
<p>Oracle for example provides an in-depth tutorial that instructs programmers on how to use Oracle XML DB Web services for Service-Oriented Architecture. The tutorial gives an overview and then provides prerequisites, the creation of a binary XML table, reviewing the XML schema in JDeveloper, and using Oracle XML DB Web Services. The tutorial provides code examples for creating network connections, and database protocols and commands to use.</p>
<p>&nbsp;</p>
<h4>Benefits of Web Services as Black Box</h4>
<p>The term “black box” is a module where a software developer does not know or care how processing is performed, but only knows that valid code inputs will produce predictable results. This is another example of the loosely coupled relationship found in web services. The developer can treat the web service as a black box not knowing how the service performs a task, but knows that if they provide valid input to the service that they will get consistent results. This black box functionality provides the benefit of interoperability. The black box web service doesn’t care what creates the valid input, only that it is valid. This means that the input can be created by a variety of programming languages which allows a wide-array of services from different organizations to be able to use the web service. This functionality usually works outside of private networks and provide developers a way to develop non-proprietary solutions. The result is that the services developed are likely to have a longer life-span and offer a better return on investment of the developed service. Web service black box functionality lets developers use their preferred programming languages because of the use standards-based communications methods making web services platform-independent.</p>
<p>&nbsp;</p>
<h4>Summary</h4>
<p>Web services that can be loosely-coupled allow various programs from many different platforms written in many different program languages to use a web service. Programmers do not need to know how the web service actually processes requests; they only need to know how to produce valid code inputs to the service to use it. Web services provide a way for systems to communicate in a standardized way.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>References</p>
<p>Oracle XML DB Web Services. (n.d.). <em>Using Oracle XML DB Web Services for Service- Oriented Architecture. </em>Retrieved August 03, 2016, from Oracle.com, <a href="https://web.archive.org/web/20230627004807/https://www.tutorialspoint.com/webservices/web_services_architecture.htm" target="_blank" rel="noopener">http://www.tutorialspoint.com/webservices/web_services_architecture.htm</a>.</p>
<p>MSDN Benefits Web Services. (n.d.). <em>Advantages &amp; Disadvantages of Web Services</em>. Retrieved August 4, 2016, from <a href="https://web.archive.org/web/20141008191900/http://social.msdn.microsoft.com:80/Forums/en-US/435f43a9-ee17-4700-8c9d-d9c3ba57b5ef/advantages-disadvantages-of-webservices?forum=asmxandxml" target="_blank" rel="noopener">https://social.msdn.microsoft.com/Forums/en-US/435f43a9-ee17-4700-8c9d-d9c3ba57b5ef/advantages-disadvantages-of-webservices?forum=asmxandxml</a>.</p>
<p>Paul, A. (2011, May 06). Service Oriented Architecture. Retrieved August 4, 2016, from <a href="https://web.archive.org/web/20180816142348/http://www.techyv.com:80/article/service-oriented-architecture-soa" target="_blank" rel="noopener">http://www.techyv.com/article/service-oriented-architecture-soa</a>.</p>
<p>The Open Group SOA. (n.d.). <em>Service Oriented Architecture : SOA Features and Benefits.</em> Retrieved August 4, 2016, from https://www.opengroup.org/soa/source-book/soa/soa_features.htm.</p>
<p>Tutorials Point Web Services. (n.d.). <em>Web Services Architecture.</em> Retrieved August 03, 2016 from Tutorials Point, <a href="https://web.archive.org/web/20230627004807/https://www.tutorialspoint.com/webservices/web_services_architecture.htm" target="_blank" rel="noopener">http://www.tutorialspoint.com/webservices/web_services_architecture.htm</a>.</p>
<p>&nbsp;</p>
<p><a href="http://zymitry.com/zymitry-disclaimer/" target="_blank" rel="noopener">Disclaimer</a></p>
<p>The post <a href="https://zymitry.com/soa-web-services/">Service-Oriented Architecture (SOA) Web Services</a> appeared first on <a href="https://zymitry.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zymitry.com/soa-web-services/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">338</post-id>	</item>
	</channel>
</rss>
