From 71c918f435b03da5e0908ad10dd0cb5955259b5d Mon Sep 17 00:00:00 2001 From: Saeed Vaziry Date: Sun, 9 Jul 2023 22:32:22 +0200 Subject: [PATCH] fixes --- .../Commands/CreateDatabaseCommand.php | 28 ------------------- app/Console/Commands/CreateUserCommand.php | 7 ++--- install/install.sh | 28 ++++++++++++++++--- 3 files changed, 27 insertions(+), 36 deletions(-) delete mode 100644 app/Console/Commands/CreateDatabaseCommand.php diff --git a/app/Console/Commands/CreateDatabaseCommand.php b/app/Console/Commands/CreateDatabaseCommand.php deleted file mode 100644 index ab1d30c..0000000 --- a/app/Console/Commands/CreateDatabaseCommand.php +++ /dev/null @@ -1,28 +0,0 @@ - null]); - - $query = "CREATE DATABASE IF NOT EXISTS $schemaName"; - - DB::statement($query); - - config(["database.connections.mysql.database" => $schemaName]); - - $this->info(sprintf("Database `%s` created successfully.", $schemaName)); - } -} diff --git a/app/Console/Commands/CreateUserCommand.php b/app/Console/Commands/CreateUserCommand.php index cef1c15..0d40fb5 100644 --- a/app/Console/Commands/CreateUserCommand.php +++ b/app/Console/Commands/CreateUserCommand.php @@ -8,19 +8,18 @@ class CreateUserCommand extends Command { - protected $signature = 'user:create {name} {email}'; + protected $signature = 'user:create {name} {email} {password}'; protected $description = 'Create a new user'; public function handle(): void { - $password = Str::random(20); User::create([ 'name' => $this->argument('name'), 'email' => $this->argument('email'), - 'password' => bcrypt($password), + 'password' => bcrypt($this->argument('password')), ]); - $this->info("User created with password: {$password}"); + $this->info("User created with password"); } } diff --git a/install/install.sh b/install/install.sh index 81d5903..bc9ba79 100644 --- a/install/install.sh +++ b/install/install.sh @@ -10,6 +10,16 @@ if [[ -z "${V_DOMAIN}" ]]; then exit 1 fi +if [[ -z "${V_ADMIN_EMAIL}" ]]; then + echo "Error: V_ADMIN_EMAIL environment variable is not set." + exit 1 +fi + +if [[ -z "${V_ADMIN_PASSWORD}" ]]; then + echo "Error: V_ADMIN_PASSWORD environment variable is not set." + exit 1 +fi + apt remove needrestart -y useradd -p $(openssl passwd -1 ${V_PASSWORD}) ${V_USERNAME} @@ -154,12 +164,19 @@ find /home/${V_USERNAME}/${V_DOMAIN} -type f -exec chmod 644 {} \; cd /home/${V_USERNAME}/${V_DOMAIN} && git config core.fileMode false cd /home/${V_USERNAME}/${V_DOMAIN} && composer install --no-dev cp .env.prod .env -sed -i '' "s/{AP_URL}/http://${V_DOMAIN}/g" /home/${V_USERNAME}/${V_DOMAIN}/.env -sed -i '' "s/{DB_NAME}/${V_DB_NAME}/g" /home/${V_USERNAME}/${V_DOMAIN}/.env -sed -i '' "s/{DB_USER}/${V_DB_USER}/g" /home/${V_USERNAME}/${V_DOMAIN}/.env -sed -i '' "s/{DB_PASS}/${V_DB_PASS}/g" /home/${V_USERNAME}/${V_DOMAIN}/.env +sed -i "s|APP_URL=.*|APP_URL=http://${V_DOMAIN}|" /home/${V_USERNAME}/${V_DOMAIN}/.env +sed -i "s|APP_URL=.*|DB_NAME=${V_DB_NAME}|" /home/${V_USERNAME}/${V_DOMAIN}/.env +sed -i "s|APP_URL=.*|DB_USER=${V_DB_USER}|" /home/${V_USERNAME}/${V_DOMAIN}/.env +sed -i "s|APP_URL=.*|DB_PASS=${V_DB_PASS}|" /home/${V_USERNAME}/${V_DOMAIN}/.env php artisan key:generate php artisan storage:link +php artisan migrate --force +php artisan user:create Vito ${V_ADMIN_EMAIL} ${V_ADMIN_PASSWORD} +openssl genpkey -algorithm RSA -out /home/${V_USERNAME}/${V_DOMAIN}/storage/ssh-private.pem +chmod 600 /home/${V_USERNAME}/${V_DOMAIN}/storage/ssh-private.pem +ssh-keygen -y -f /home/${V_USERNAME}/${V_DOMAIN}/storage/ssh-private.pem > /home/${V_USERNAME}/${V_DOMAIN}/storage/ssh-public.key +chown -R ${V_USERNAME}:${V_USERNAME} /home/${V_USERNAME}/${V_DOMAIN}/storage/ssh-private.pem +chown -R ${V_USERNAME}:${V_USERNAME} /home/${V_USERNAME}/${V_DOMAIN}/storage/ssh-public.key # setup supervisor export V_WORKER_CONFIG=" @@ -191,3 +208,6 @@ echo "✅ SSH Password: ${V_PASSWORD}" echo "✅ DB Name: ${V_DB_NAME}" echo "✅ DB Username: ${V_DB_USER}" echo "✅ DB Password: ${V_DB_PASS}" +echo "✅ Admin Email: ${V_ADMIN_EMAIL}" +echo "✅ Admin Password: ${V_ADMIN_PASSWORD}" +echo "✅ URL: http://${V_DOMAIN}"