From 5be4eff6bf8739ce613921886c3dddb4088d03fb Mon Sep 17 00:00:00 2001 From: Kyle Kaminski Date: Wed, 27 Aug 2014 18:40:08 -0500 Subject: document LAMP stack on archlinux fused to macosx's partition --- bashrc | 3 +++ macbook/local.service | 7 +++++-- macbook/macosx.txt | 15 ++++++++++++++- systemd-local-cmds/etc/systemd/system/local.service | 13 +++++++++++++ systemd-local-cmds/etc/systemd/system/mysqld.service | 18 ++++++++++++++++++ systemd-local-cmds/mysqld.service | 18 ++++++++++++++++++ systemd-local-cmds/notes.txt | 2 ++ systemd-local-cmds/usr/bin/local.sh | 4 ++++ 8 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 systemd-local-cmds/etc/systemd/system/local.service create mode 100644 systemd-local-cmds/etc/systemd/system/mysqld.service create mode 100644 systemd-local-cmds/mysqld.service create mode 100644 systemd-local-cmds/notes.txt create mode 100755 systemd-local-cmds/usr/bin/local.sh diff --git a/bashrc b/bashrc index 76408ea..3dc04f4 100644 --- a/bashrc +++ b/bashrc @@ -4,3 +4,6 @@ PS1='\[\e[1;37m\][\[\e[m\]\[\e[1;32m\]\u\[\e[m\]@\[\e[1;37m\]\h\[\e[m\] \[\e[1;3 [root] PS1='\[\e[1;37m\][\[\e[m\]\[\e[1;31m\]\u\[\e[m\]@\[\e[1;37m\]\h\[\e[m\] \[\e[1;36m\]\w\[\e[m\]\[\e[1;37m\]]\[\e[m\]\[\e[1;32m\]\$\[\e[m\] \[\e[1;37m\]' +[user git branch] +PS1='\[\e[1;37m\][\[\e[m\]\[\e[1;32m\]\u\[\e[m\]@\[\e[1;37m\]\h\[\e[m\] \[\e[1;36m\]\w\[\e[m\]\[\e[1;33m\]$(__git_ps1 " (%s)")\[\e[m\]\[\e[1;37m\]]\[\e[m\]\[\e[1;32m\]\$\[\e[m\] \[\e[1;37m\]' + diff --git a/macbook/local.service b/macbook/local.service index ddf2555..bf4fba0 100644 --- a/macbook/local.service +++ b/macbook/local.service @@ -1,10 +1,13 @@ -# place to /etc/systemd/system/local.service - [Unit] Description=Run local commands after boot +ConditionFileIsExecutable=/usr/bin/local.sh [Service] +Type=oneshot +# below is needed otherwise ExecStop would execute right after start and unmount +RemainAfterExit=Yes ExecStart=/usr/bin/local.sh +ExecStop=/usr/bin/umount /mnt/mac-bind [Install] WantedBy=multi-user.target diff --git a/macbook/macosx.txt b/macbook/macosx.txt index 618cd3f..c799568 100644 --- a/macbook/macosx.txt +++ b/macbook/macosx.txt @@ -1,2 +1,15 @@ - let the env know about 'port' packages, here we care about include dir -CFLAGS=-I/opt/local/include ./configure \ No newline at end of file +CFLAGS=-I/opt/local/include ./configure + +[arch setup] +- perms + -> http and git users/accounts are added to users group + -> 775 is used now for all website dirs + -> rest of the system uses kyle:users and 644 perms such as text editor, IDE, etc. + +- lamp stack + -> macosx's partition is used to store mysql db + -> mysqld.service has to be modified and --datadir= argument was added + -> custom local.service start before mysql end stop after mysql to mount + masqueraded/mapped user:group perms from macosx's system to archlinux + diff --git a/systemd-local-cmds/etc/systemd/system/local.service b/systemd-local-cmds/etc/systemd/system/local.service new file mode 100644 index 0000000..bf4fba0 --- /dev/null +++ b/systemd-local-cmds/etc/systemd/system/local.service @@ -0,0 +1,13 @@ +[Unit] +Description=Run local commands after boot +ConditionFileIsExecutable=/usr/bin/local.sh + +[Service] +Type=oneshot +# below is needed otherwise ExecStop would execute right after start and unmount +RemainAfterExit=Yes +ExecStart=/usr/bin/local.sh +ExecStop=/usr/bin/umount /mnt/mac-bind + +[Install] +WantedBy=multi-user.target diff --git a/systemd-local-cmds/etc/systemd/system/mysqld.service b/systemd-local-cmds/etc/systemd/system/mysqld.service new file mode 100644 index 0000000..c1f8d3b --- /dev/null +++ b/systemd-local-cmds/etc/systemd/system/mysqld.service @@ -0,0 +1,18 @@ +[Unit] +Description=MariaDB database server +After=syslog.target +Requires=local.service +After=local.service + +[Service] +User=mysql +Group=mysql + +ExecStart=/usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid --datadir=/home/kyle/dev/mysql +ExecStartPost=/usr/bin/mysqld-post + +Restart=always +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/systemd-local-cmds/mysqld.service b/systemd-local-cmds/mysqld.service new file mode 100644 index 0000000..c1f8d3b --- /dev/null +++ b/systemd-local-cmds/mysqld.service @@ -0,0 +1,18 @@ +[Unit] +Description=MariaDB database server +After=syslog.target +Requires=local.service +After=local.service + +[Service] +User=mysql +Group=mysql + +ExecStart=/usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid --datadir=/home/kyle/dev/mysql +ExecStartPost=/usr/bin/mysqld-post + +Restart=always +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/systemd-local-cmds/notes.txt b/systemd-local-cmds/notes.txt new file mode 100644 index 0000000..1cfd4bc --- /dev/null +++ b/systemd-local-cmds/notes.txt @@ -0,0 +1,2 @@ +- what i'm trying to accomplish here is to mount a disk before mysqld starts + and unmount it after mysqld stops diff --git a/systemd-local-cmds/usr/bin/local.sh b/systemd-local-cmds/usr/bin/local.sh new file mode 100755 index 0000000..84941b9 --- /dev/null +++ b/systemd-local-cmds/usr/bin/local.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +/usr/bin/bindfs --map=502/1000:@20/@100,@70/@33 /mnt/mac /mnt/mac-bind + -- cgit v1.2.3