eve-seat / seat

SeAT 0x. [UNSUPPORTED]
https://github.com/eveseat/seat
MIT License
69 stars 37 forks source link

Installer Test #227

Closed eve-seat closed 9 years ago

eve-seat commented 9 years ago

f5fb0c88 introduces a installer for SeAT. The basic idea will be that a user will install seat via composer and run the installer after that.

Please could I get a few to test the current version and report bugs as applicable?

A sample run will be:

# install the seat development branch from composer into the 'seat-dev' directory
λ github → composer create-project eve-seat/seat seat-dev dev-dev
Installing eve-seat/seat (dev-dev 65567225824f39a29ecf189141ead8bd404c6f8f)
  - Installing eve-seat/seat (dev-dev dev)
    Cloning dev

Created project in seat-dev
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing 3rdpartyeve/phealng (1.3.0)
    Loading from cache

# [... snip ...]

Compiling common classes
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? n
Application key [3MvAXT3GkeXFwrKHEHZoNgHl71WGJic9] set successfully.
λ github →

Once it is installed, run the installer with:

λ seat-dev → λ git dev → php artisan seat:install
[+] Welcome to the SeAT v0.10.1 installer!

[+] Database setup...
[+] Please enter the details for the MySQL database to use (enter to use default):
[?] Username (root):
[?] Password:
[?] Hostname (127.0.0.1):
[?] Database (seat):t
[+] Successfully connected to the MySQL database.

[+] Redis cache setup...
[+] Please enter the details for the Redis cache to use (enter to use default):
[?] Host (127.0.0.1):
[?] Port (6379):
[+] Successfully connected to the Redis cache.

[+] Mail setup...
[+] Please enter the details for the email configuration to use (enter to use default):
[?] How are emails going to be sent? [mail/sendmail/smtp] (mail):
[?] Where will emails be coming from? (seatadmin@localhost):
[?] Who will emails be coming from? (SeAT Administrator):

[+] Mail configuration summary:
[+]    Mail Driver: mail

[?] Are the above mail settings correct? [yes/no]
[+] Successfully wrote the configuration file
[+] Running the database migrations...
Migration table created successfully.
Migrated: 2012_12_06_225921_migration_cartalyst_sentry_install_users

# [... snip ...]

Migrated: 2014_12_09_124210_RheaCharacterSheetUpdates
[+] Running the database seeds...
Be sure to run this to set the default admin password: php artisan seat:reset
Seeded: UserTableSeeder
Seeded: EveApiCalllistTableSeeder
Seeded: EveNotificationTypesSeeder
Seeded: EveCorporationRolemapSeeder
Seeded: SeatSettingSeeder
[+] Updating to the latest EVE SDEs...
Warning! This Laravel command uses exec() to execute a mysql shell command to import a extracted dump.
Due to the way the command is constructed, should someone view the current running processes of your server, they will be able to see your SeAT database users password.

Ensure that you understand this before continuing.
Checking for SDE updates at https://raw.githubusercontent.com/eve-seat/seat/resources/sde_version.json ...
The current SDE version is rhea-1.0-109013
19 dumps will be downloaded from https://www.fuzzwork.co.uk/dump/rhea-1.0-109013/ in .sql.bz2 format and imported into mysql://127.0.0.1/t

# [... snip ...]

[OK] mapDenormalize.sql.bz2 [14.39MB]
[OK] staStations.sql.bz2 [0.14MB]
SDE update to rhea-1.0-109013 completed successfully.
[+] Configuring the 'admin' user...
WARNING!!! This will RESET the current Administrator password!

What is the new password to use for the admin user? :
Retype that password please:
The passwords match. Resetting to the new 5 char one.
Password has been changed successfully.
[+] Syncing the access groups...
[info] Group POS Managers was not found. Creating it.
[ok] Group POS Managers created.
[info] Group Wallet Managers was not found. Creating it.
[ok] Group Wallet Managers created.
[info] Group Recruiters was not found. Creating it.
[ok] Group Recruiters created.
[info] Group Asset Managers was not found. Creating it.
[ok] Group Asset Managers created.
[info] Group Contract Managers was not found. Creating it.
[ok] Group Contract Managers created.
[info] Group Market Managers was not found. Creating it.
[ok] Group Market Managers created.
[info] Group Key Manager was not found. Creating it.
[ok] Group Key Manager created.

[+] Done!
λ seat-dev → λ git dev →
t3rminalV commented 9 years ago

Seems to have worked perfectly on a fresh vagrant vm.

gregoryduckworth commented 9 years ago

Tested on a clean homestead box and worked a charm!

t3rminalV commented 9 years ago

The seat:install command also worked on my current install after pulling the changes down.

eve-seat commented 9 years ago

This landed in the 0.11.0 release, but is not the official install path yet. I still have a few things to test and ponder about though. Thanks to those that have tested already!

tfevens commented 9 years ago

Tested this on a server that did not have Redis installed. At that point in the installer it just loops, over and over again, asking for Redis details. Perhaps on the 2nd or 3rd attempt a prompt to 'kill' the process might be useful?

Yes, I know that you can CMD/CTRL + X, but something programmatic might be useful for non-savvy folks.

eve-seat commented 9 years ago

Hmm. Yeah it would do that. It wants Redis details pretty badly :D Redis is definitely a hard requirement for SeAT. What is the reasoning that Redis is not installed?

tfevens commented 9 years ago

Just that I'm attempting it on a machine that doesn't (and for silly security reason can't) have it installed.

I'm not suggesting that Redis be removed as a requirement, just that after 3 failed attempts to connect, a message stating that Redis is required for SeAT, and ask if they would like to quit the install.

ghost commented 9 years ago

If Redis is not available for security reasons, is there even an option to use at least one of the other 3 queueing systems (besides that there are certain composer additional dependencies) ?

I personally tested SQS for some time and it was working.

eve-seat commented 9 years ago

@tfevens thanks for the clarification! Makes sense now and yea this is definitely possible.

@LunarchildEU as for supporting other backends, a few things like the jobID's that is returned when using Redis is heavily relied upon in SeAT. However, if we can get full test cases for other backends that work, by all means :D

tfevens commented 9 years ago

@LunarchildEU By security, I mean that on my work PC I'm unable to install anything, so I'm not able to install Redis, and other requirements (or Vagrant & Virtualbox to roll a Homestead instance).

@eve-seat I haven't dove into the code, but with Laravel, shouldn't Redis, MemCached and other be quite easily swappable? Perhaps, that's something that can be reviewed and might go a long way to making SeAT more compatible with hosts. If I'm wrong, just ignore the ramblings and I'll move along :-)

eve-seat commented 9 years ago

You are 100% correct. We use Facade to interface with them and Laravel is nice enough to do the required translation. One of the many reasons why I chose Redis back then was the fact that its 1 dependency, and we have Caching and Queues sorted.

I am totally happy to entertain conversations about alternatives, but I would prefer to only focus on this post v1. For now, I will add your suggestion about failing the installer after say 3 attempts.

Thank for the feedback @tfevens =)

tfevens commented 9 years ago

My pleasure! Hopefully I'll be able to contribute some code to the project! It's these kinds of things that make me want to play Eve again!

eve-seat commented 9 years ago

@tfevens great news : D Feel free to come join us on IRC too :) Details at the bottom of the repo root page.