Skip to content

LAMurakami/aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

585 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux Apache MariaDB in the cloud

GitLab and GitHub public Projects/Repositories

The gitlab.com/aws-lam/aws Project is a clone of the github.com/LAMurakami/aws Repostory. My gitlab.com/LAMurakami account was created so that Projects can be cloned using https without authentication over IPv6 as well as IPv4 unlike the github.com/LAMurakami Repostories that can only be accessed over IPv6 with the IPv6 only workaround.

by IP Address website

The localhost / accessed by IP Address website for the lamurakami.freeddns.org lam1.freeddns.org lam2.freeddns.org lamurakami.duckdns.org lam1.duckdns.org lam2.duckdns.org larryforalaska.duckdns.org Dynamic Domain Name Service subdomains possibly being served by the instance.

The aws repo contains content in the html folder and an apache2 configuration for a named virtual host for localhost and a number of aliases.

It also includes the CloudInit files to launch a new LAM AWS instance. A Linux Apache MariaDB (LAM) Amazon Web Services (AWS) instance includes the Perl, Python and PHP application programming languages making it a LAMP model web service software stack instance. A LAM AWS instance also has additional prerequisites for MediaWiki and the secure site web applications in a separate private lam repo.

AWS EC2 metadata values availability-zone, instance-type, local-hostname, local-ipv4, public-hostname, and public-ipv4 for the instance are used along with the public-ipv6 on the main page for the virtual host in my version of the this site is working main page. The values for the main page and configuration file are applied during the CloudInit process by cloud-init.pl and ec2-user-data.pl

Additional sites served by the instance possibly include: lam no-ssl arsc sites cabo z blinkenshell olnes alaskademocrat larryforalaska mike interiordems oldinteriordems

Content (DocumentRoot) is now at /var/www/<site>/html and configuration and supporting files within /var/www/<site> but not the DocumentRoot.

The LAM AWS EC2 lam1 CloudInit builds a LAMP model web service software stack instance from the Latest Server image available. This repo has the content in a html/ subdirectory as outlined below:

/var/www/aws/
         |-- aws-nwo-lam1-Ubuntu-CloudInit.txt
         |-- cloud-init.pl
         |-- aws_apache2.conf
         |-- html/   DocumentRoot /var/www/aws/html/
  • aws-lam1-Ubuntu-24-Noble-CloudInit.txt and aws-nwo-lam1-Ubuntu-CloudInit.txt are the cloud-config configuration files for the initializaton of an Ubuntu 24.04 Noble Numbat instance. During the first boot all the installed packages are updated and then additional packages are installed to support LAMP model web services including a MediaWiki installation. The File System Table is modified so that a LAM AWS Elastic File System (EFS) instance shared with all the LAM AWS EC2 instances in the region is mounted by nfs4. Site subdirectories and additional software are sometimes installed from git repositories and tgz archives on this persistant shared filesystem in the us-west-2 Oregon region where my main instance runs. A No-Public-IPv4 instance may require the main instance in the us-west-2 Oregon region be up and running as a dual stack IPv4 and IPv6 ssh server to support some initialization steps.

  • aws-lam1-Ubuntu-22-Jammy-CloudInit.txt and aws-nwo-lam1-Ubuntu-CloudInit.txt are the cloud-config configuration files for the initializaton of an Ubuntu 22.04 Jammy Jellyfish instance.

  • aws-lam2-Debian-CloudInit.txt and aws-nwo-lam2-Debian-CloudInit.txt are the cloud-config configuration files for the initializaton of a Debian 12 instance.

  • aws-lam2-Amazon-Linux-2023-CloudInit.txt and aws-nwo-lam2-Amazon-Linux-2023-CloudInit.txt are alternate initializations for an LAM AWS EC2 using Amazon Linux 2023. These cloud-config files can be used on a t3.nano instance with only 0.5 GiB of memory since the dnf Out of Memory bug on swapless machines with 1G or less of RAM was fixed

  • aws-lam2-SLES-CloudInit.txt is the cloud-config configuration file for the initializaton of a SLES 15 sp6 instance.

  • aws-lam2-ssh443-Amazon-Linux-2-CloudInit.txt is an alternate initialization for an LAM AWS EC2 using Amazon Linux 2 rather than Ubuntu Server as the Linux component of the LAMP model web server. Adding epel, php7.4 and mariadb10.5 repositories using amazon-linux-extras enables this instance to support the MediaWiki installation and be an AWS LAM clone.

  • aws-efs-mount.bash mounts the AWS LAM VPC Elastic File Systems that have been created for each region and availability zone when avaialble. All 32 REGIONs enabled for my AWS account, as of January 2025, support Standard and Lifecycle Management EFS but a number of Availability Zones including all for many REGIONs do not yet support One Zone Lifecycle Managed EFS.

  • cloud-init.pl applies the public-hostname, public-ipv4, local-hostname and local-ipv4 values from the /var/log/cloud-init-output.log to the /var/www/aws/html/index.html and /var/www/aws/aws_apache2.conf files so the Dynamic Domain Name Service page is displayed when the AWS public domain name or IP address is visited. The cloud-init.pl program also updates the public-ipv6 value in the VirtualHost specification of the /var/www/<site>/<site>_apache2.conf configuration files for all the additional-sites.

  • <site>_apache2.conf is the site apache2 configuration file. The LAM AWS EC2 LAMP instance does not support .htaccess files. The <site>_apache2.conf file is linked into /etc/apache2/sites-available in the aws-lam-apache2-sites-configuration-Amazon-Linux.bash, aws-lam-apache2-sites-configuration-Debian-Ubuntu.bash and aws-lam-apache2-sites-configuration-OpenSUSE.bash script which also assign a three digit numerical order for the sites. Force apache2 to read any changes in configuration files with:

systemctl daemon-reload
systemctl reload apache2

See Also:

About

Linux Apache MariaDB in the cloud LAM AWS VPC

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors