From d068ea34493b9704224fd12ac1a2bdd01611a75e Mon Sep 17 00:00:00 2001 From: Logan McInnis Date: Sun, 24 Nov 2019 13:56:57 -0500 Subject: [PATCH 01/12] Upload New File --- friendbook.sql | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 friendbook.sql diff --git a/friendbook.sql b/friendbook.sql new file mode 100644 index 0000000..7cbeb45 --- /dev/null +++ b/friendbook.sql @@ -0,0 +1,48 @@ +drop database if exists friendbook; + +create database friendbook; + +use friendbook; + +create table login( + username varchar(25), + pword varchar(25), + primary key(username)); + +create table contacts( + username varchar(25), + fname varchar(25), + lnam varchar(25), + primary key(username), + foreign key(username) references login(username)); + +create table messages( + messageID int, + sender varchar(25), + recipient varchar(25), + message text, + date date, + haveread varchar(1), + primary key(messageID), + foreign key(sender) references contacts(username), + foreign key(recipient) references contacts(username)); + +create table friendlist( + username varchar(25), + friend varchar(25), + confirm boolean); + +insert into login + values ('user1', 'password1'); +insert into login + values ('user2', 'password2'); + +insert into contacts + values ('user1', 'num1', 'uno'); +insert into contacts + values ('user2', 'num2', 'dos'); + +insert into messages + values ('1', 'user1', 'user2', 'hello, how are you', now(), 'Y'); +insert into messages + values ('2', 'user2', 'user1', 'im doing good, thanks', now(), 'N'); \ No newline at end of file From 95d57554f92d20299206461d180e62604b0c6591 Mon Sep 17 00:00:00 2001 From: Logan McInnis Date: Sun, 24 Nov 2019 13:57:51 -0500 Subject: [PATCH 02/12] this will start database and create a few values From 5b87ac68d7e9779457f407952152ee1ac739ac9d Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 14:17:34 -0500 Subject: [PATCH 03/12] Moved to scripts folder --- friendbook.sql => scripts/friendBook.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename friendbook.sql => scripts/friendBook.sql (100%) diff --git a/friendbook.sql b/scripts/friendBook.sql similarity index 100% rename from friendbook.sql rename to scripts/friendBook.sql From 7a3e2e00fb4c15b2e50c050787991110844a317f Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 14:17:58 -0500 Subject: [PATCH 04/12] Replaced tabs with 4 spaces --- scripts/friendBook.sql | 52 +++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/scripts/friendBook.sql b/scripts/friendBook.sql index 7cbeb45..87b862f 100644 --- a/scripts/friendBook.sql +++ b/scripts/friendBook.sql @@ -5,44 +5,44 @@ create database friendbook; use friendbook; create table login( - username varchar(25), - pword varchar(25), - primary key(username)); + username varchar(25), + pword varchar(25), + primary key(username)); create table contacts( - username varchar(25), - fname varchar(25), - lnam varchar(25), - primary key(username), - foreign key(username) references login(username)); + username varchar(25), + fname varchar(25), + lnam varchar(25), + primary key(username), + foreign key(username) references login(username)); create table messages( - messageID int, - sender varchar(25), - recipient varchar(25), - message text, - date date, - haveread varchar(1), - primary key(messageID), - foreign key(sender) references contacts(username), - foreign key(recipient) references contacts(username)); + messageID int, + sender varchar(25), + recipient varchar(25), + message text, + date date, + haveread varchar(1), + primary key(messageID), + foreign key(sender) references contacts(username), + foreign key(recipient) references contacts(username)); create table friendlist( - username varchar(25), - friend varchar(25), - confirm boolean); + username varchar(25), + friend varchar(25), + confirm boolean); insert into login - values ('user1', 'password1'); + values ('user1', 'password1'); insert into login - values ('user2', 'password2'); + values ('user2', 'password2'); insert into contacts - values ('user1', 'num1', 'uno'); + values ('user1', 'num1', 'uno'); insert into contacts - values ('user2', 'num2', 'dos'); + values ('user2', 'num2', 'dos'); insert into messages - values ('1', 'user1', 'user2', 'hello, how are you', now(), 'Y'); + values ('1', 'user1', 'user2', 'hello, how are you', now(), 'Y'); insert into messages - values ('2', 'user2', 'user1', 'im doing good, thanks', now(), 'N'); \ No newline at end of file + values ('2', 'user2', 'user1', 'im doing good, thanks', now(), 'N'); \ No newline at end of file From 3dec2ea750817416e72adb1e84fe93e326d603f4 Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 14:19:10 -0500 Subject: [PATCH 05/12] Removed since the friendBook database is made before startup --- scripts/friendBook.sql | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/friendBook.sql b/scripts/friendBook.sql index 87b862f..40e95a0 100644 --- a/scripts/friendBook.sql +++ b/scripts/friendBook.sql @@ -1,7 +1,3 @@ -drop database if exists friendbook; - -create database friendbook; - use friendbook; create table login( From 0f527de9a7afe7cd8d6337c3886791d498c313a8 Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 14:25:51 -0500 Subject: [PATCH 06/12] Added command to execute friendBook SQL script --- entrypoint.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/entrypoint.sh b/entrypoint.sh index 4a0f5ef..ce3d439 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,10 +1,15 @@ #!/bin/sh +# Starting base services echo "[ INFO ] Starting MySQL Server" service mysql start echo "[ INFO ] Starting PHP 7.2 Service" service php7.2-fpm start +# Running friendBook database setup script +echo "[ INFO ] Setting up friendBook database" +mysql -u root < /scripts/friendBook.sql + echo "[ INFO ] Starting nginx" nginx -g "daemon off;" # Foreground From a235858693ff226bc97e84b39d44c3ed9c89df38 Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 14:32:13 -0500 Subject: [PATCH 07/12] Changed to use camelCase --- scripts/friendBook.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/friendBook.sql b/scripts/friendBook.sql index 40e95a0..7271481 100644 --- a/scripts/friendBook.sql +++ b/scripts/friendBook.sql @@ -1,4 +1,4 @@ -use friendbook; +use friendBook; create table login( username varchar(25), From 064d1e25c3b6dc0cfb21960fc85755441e3e5d2e Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 14:42:17 -0500 Subject: [PATCH 08/12] Automatically install nano editor to make things a little easier --- entrypoint.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/entrypoint.sh b/entrypoint.sh index ce3d439..a1925bd 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -11,5 +11,9 @@ service php7.2-fpm start echo "[ INFO ] Setting up friendBook database" mysql -u root < /scripts/friendBook.sql +# Installing nano to make live changes a little quicker +echo "[ INFO ] Installing nano editor" +apt-get update && apt-get install -y nano + echo "[ INFO ] Starting nginx" nginx -g "daemon off;" # Foreground From dc0c7f43811b6c9d6a02367500745397e9814b91 Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 22:26:17 -0500 Subject: [PATCH 09/12] Using PHP's PDO syntax now --- var/www/phptest.php | 46 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/var/www/phptest.php b/var/www/phptest.php index cdf9f10..01d907d 100644 --- a/var/www/phptest.php +++ b/var/www/phptest.php @@ -1,38 +1,38 @@ connect_error) { - die("Connection failed: " . $conn->connect_error); -} -echo "Connected successfully"; - -?> +// Current user +$user = "William"; // Testing with until we have login working -

PHP connect to MySQL

+

PHP Test Page - Connecting to MySQL

'; + try{ + $connection = new PDO("mysql:host=$server;dbname=$database", $username, $password); + // set the PDO error mode to exception + $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + echo "Connected successfully"; } - //Step 4 + catch(PDOException $e){ + echo "Connection failed: " . $e->getMessage(); + } + + $sql = "SELECT messageID, date, message + FROM messages + WHERE recipient=$user"; + foreach($connection->query($sql) as $row){ + print $row['messageID'] . "\t"; + print $row['date'] . "\t"; + print $row['message'] . "\t"; + } + mysqli_close($db); ?> From cef19f325d9902c84f27d1a5c7412c041a8f1efc Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 22:34:59 -0500 Subject: [PATCH 10/12] Added back Port 3306 just in case for debugging --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index bfbb32a..e211b90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,5 +31,5 @@ COPY /var/www/ /var/www/ RUN chown -R www-data:www-data /var/www # Expose Insecure Web, MySQL Server -EXPOSE 80 +EXPOSE 80 3306 CMD ["/bin/sh", "/entrypoint.sh"] \ No newline at end of file From e7edd119f93d7f4b43fc02b95b0b11be04e2f9aa Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 23:00:10 -0500 Subject: [PATCH 11/12] Small fix --- var/www/phptest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/www/phptest.php b/var/www/phptest.php index 01d907d..507e96b 100644 --- a/var/www/phptest.php +++ b/var/www/phptest.php @@ -24,7 +24,7 @@ $user = "William"; // Testing with until we have login working echo "Connection failed: " . $e->getMessage(); } - $sql = "SELECT messageID, date, message + $sql = "SELECT messageID, date, message FROM messages WHERE recipient=$user"; foreach($connection->query($sql) as $row){ @@ -33,7 +33,7 @@ $user = "William"; // Testing with until we have login working print $row['message'] . "\t"; } - mysqli_close($db); + mysqli_close($connection); ?> From e24d376cb07fb1bf567bda17615a238316b9a836 Mon Sep 17 00:00:00 2001 From: William Miceli Date: Sun, 24 Nov 2019 23:00:53 -0500 Subject: [PATCH 12/12] Explicitly using desired versions; added nano editor into dockerfile (less logs) --- Dockerfile | 9 +++++---- entrypoint.sh | 4 ---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index e211b90..f6809cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,11 +4,12 @@ WORKDIR /var/www # Installing needed packages RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ - mysql-server \ + mysql-server-5.7 \ + nano \ nginx \ - php-fpm \ - php-mysql \ - php-cli \ + php7.2-fpm \ + php7.2-mysql \ + php7.2-cli \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /var/www/html \ && rm /etc/nginx/sites-enabled/default diff --git a/entrypoint.sh b/entrypoint.sh index a1925bd..ce3d439 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -11,9 +11,5 @@ service php7.2-fpm start echo "[ INFO ] Setting up friendBook database" mysql -u root < /scripts/friendBook.sql -# Installing nano to make live changes a little quicker -echo "[ INFO ] Installing nano editor" -apt-get update && apt-get install -y nano - echo "[ INFO ] Starting nginx" nginx -g "daemon off;" # Foreground