ladybirdweb / faveo-helpdesk

Faveo Open source ticketing system build on Laravel framework
https://www.faveohelpdesk.com/online-demo/
Open Software License 3.0
1.15k stars 565 forks source link

Issue installing #7

Closed alexisskeates closed 8 years ago

alexisskeates commented 8 years ago

I've pulled the latest version from git onto my ubuntu webserver. I have made sure the following are installed and enabled:

PHP >= 5.5.9 OpenSSL PHP Extension PDO PHP Extension Mbstring PHP Extension Tokenizer PHP Extension

When I browse to the url that points to my webserver the installer redirects from http://url to http://url/step1 and at that point I get a 404 url not found.

I've had a look and this folder does not exists so I assume the installer creates this it's self, but it appears not to be doing this.

Any suggestions on how to resolve this would be great.

sujit223 commented 8 years ago

I have looked into your issue and found that there are some Apache configuration issue on your server. Need to look into your php info file to solve it.

bhanu2217 commented 8 years ago

Please enable Apache mod_rewrite module

ayurmedia commented 8 years ago

does not support database config ports other than 3306, had to change config-file manually.

host "127.0.0.1:3308" does not work, but following. (i also need to write 127.0.0.1 instead of localhost, but that might be my server and database config (as "localhost" is not defined but only 127.0.0.1)

see part of code/config/database.php how to set a custom port, i removed password from screenshot. ashampoo_snap_2015 12 15_20h17m39s_005_

ayurmedia commented 8 years ago

you have to disable asp-tags in php-ini for it to work because of conflcts in the template-system. <% %>. it stopped in line 170, which was caused by the embeded template which uses <% chars, which my php-installation 5.6 detected as asp-tags and tried to execute as php-script and caused an error.

with asp-tags on in php.ini: ashampoo_snap_2015 12 15_20h12m57s_001_

with asp-tags off in php.ini (works) ashampoo_snap_2015 12 15_20h14m36s_002_

the problem is only in the installer, after installer is finished, you can theoretically turn on asp-tags and it still works. you can see in the debug backtrace of the first screenshot the usage of <% in the code which gave me the idea to check asp-tags.

either put a php_flag aps_tags off in .htaccess (might work everywhere, as flags are buggy)

even an ini_set in the index.php might work and prevent included templates to execute asp-tags. there are several other places where asp-tags are used in .blade.php templates.

http://stackoverflow.com/questions/14694116/how-to-disable-asp-style-php-tags-within-a-specific-file

bhanu2217 commented 8 years ago

We tried on php 5.5.3 with asp_tags on/off both cases and the Faveo project works fine either ways? it didn't impact Faveo. what version of PHP are you using?

alexisskeates commented 8 years ago

Does this mean you have managed to get it to work running on Ubuntu server? If so do you have any specific settings you used to get it running?

bhanu2217 commented 8 years ago

We have tested on Centos OS 6, shared server using cPanel. I can create one cPanel account for you for testing on our server, need your domain details to match to our server. you can email on support@ladybirdweb.com with your domain name and i will setup for you for testing. Faveo needs no special setting beyond Laravel framework requirement. Check server requirement here http://laravel.com/docs/5.0 We will see in few weeks try and see if we can release ready images of Faveo to install on virtual machines.

bhanu2217 commented 8 years ago

You can also give us your server SSH details also and we can try and check it.

ayurmedia commented 8 years ago

Are you crazy? I don’t give you ssh accounts. i can give you details about linux, php, apache and mysqlv-versions if this helps. 

apache 1.x  php5.4 to php5.6 (currently using 5.6) mysql5.6 running on localhost: 3308 (dev , vs. live) linux gentoo linux, all apps need to be compiled from source, because of the mangaged-server we have, which is good for stability. 

after some manual configuration your app is running, but not out of the box,  some things are real bugs. 

alexisskeates commented 8 years ago

So I can get the installer to show up using http://url/index.php/step1 but I assume something is still not rite it it's not working without using that url.

At the moment this is a disposable server so I could give you ssh access to it. Where should send the details to.

What I have done so far on the server is install Ubuntu 14.04 fresh with ssh enabled. Then installed the following:

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-mcrypt apache2-mpm-worker mysql-server libapache2-mod-auth-mysql php5-mysql libapache2-mod-fastcgi php5-fpm php5 php5-gd php5-mysql php5-curl php5-sqlite git

Then run

sudo a2enmod actions fastcgi alias sudo a2enmod rewrite sudo php5enmod mcrypt sudo service apache2 restart

screen shot 2015-12-15 at 12 16 01

bhanu2217 commented 8 years ago

If you use any web hosting company Like BlueHost, Godaddy or www.store.ladybirdwebhost.com which has pre configured Apache, PHP server with essential extension & web hosting panel like cPanel/Plesk, Faveo will works out of the box. In custom environment we can help you only if we have your server details, so we can login & test and see why the application is not working. If Laravel minimum requirement is meet Faveo will work fine.

ayurmedia commented 8 years ago

I have all the requirements, its just the configuration needs to be changed so things work in my environment, and no i dont use ubuntu, but have a professional hosting server where i install my webapps on . if it does not work there i will use other software.  for your testing its ok to try with ubuntu which ist the most common version. 

alexisskeates commented 8 years ago

How should I send you ssh details. I don't want to post them in the forum

bhanu2217 commented 8 years ago

We are right now doing some R&D on if we can create Docker/Bitnami image to make it easy to install Faveo on Custom environment or virtual machines, do give us few days of time we will get back to you.

We are team of Developer and not really into server configuration but so far we have not faced issues with server environment. We usually go with Servers with WHM/cPanel so we don't have to worry about server configuration.

For PHP/Laravel application to work Apache also needs to be configured well. You can even try hosting basic/default Laravel application on your server and see if that works. If that works Faveo will also work.

tdaulbaev commented 8 years ago

Ubuntu 15.10 (GNU/Linux 4.2.0-19-generic x86_64) i have this problem too...

[core:info] [pid 10499] [client :55479] AH00128: File does not exist: /www/step1

ayurmedia commented 8 years ago

true, the installer stalled when i tried it. to fix it i copied the .htaccess mod-rewrite . index.php from a wordpress-installation, then it worked. the modrewrite is wrong.

i use this in my .htaccess, then the installer goes to next step:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
ayurmedia commented 8 years ago

We are right now doing some R&D on if we can create Docker/Bitnami image to make it easy to install Faveo on Custom environment or virtual machines, do give us few days of time we will get back to you.

no, please fix the installer and don't force users to use a specific linux-version.

ayurmedia commented 8 years ago

@linainvers be more specific, where does it break ? with step1 ? then you need to try the .htaccess settings (similar to wordpress). screenshot where it stops ? you can see in my screenshot that you can install it on gentoo-linux with mysql5.6 php5.6. but still bugs are there, at least i could install it.

tdaulbaev commented 8 years ago

thank you, works fine. Ubuntu 15.10

ayurmedia commented 8 years ago

@linainvers good that you managed it. so my suggestion for @bhanu2217 is:

ayurmedia commented 8 years ago

Hint: if you think faveo has too many bugs, you can also try osTicket which has way more features and is stable: http://osticket.com/download also opensource hence "os" (open-source-ticket).

bhanu2217 commented 8 years ago
ayurmedia commented 8 years ago

ASP tags issue we are not able to replicate for now. If the server is configured well to run Laravel application this issue will not occur

thats just ignorant, just because you are to lazy to understand the bug you wont fix it ?
a developer trying to install faveo does not care that it is using laravel. in my screenshot you can see, the bug is 100% reproducible even with php5.6.

what is so hard to add the line: ini_set('asp_tags',0); at the beginning of index.php which seems to be your dispatcher and fix it. no need for manual "configuration" for laravel. actually laravel is causing the bug, as php allows for asp-tags, deal with it. if laravel reuses a reserved word is has to fix it, and not the user. they could have used markers without conflict. in php7 asp-tags will be removed and disabled in php, but until then people still might have old php.ini which has asp-tags on.

the main problem is with blade.php templates which allow a mix of @php-command statements and real php-code. i think it would even be possible to write

@foreach .... some code <?php endforeach ?>

as the @foreach is simply converted to php and only then the php is executed. at the same time asp-tags are also executed, but laravel uses them as an alternative syntax, causing the conflicts.

bhanu2217 commented 8 years ago

You can send your comment & suggestions to Laravel directly. This is not a issue and we don't think it needs any fix from our end. There is certain way & requirement Laravel works if you are not willing to follow that we cannot do much.

Do note we are providing free support & updates out of goodwill, the language used by you throughout the conversation is very offensive in nature. It will be difficult for us to communicate and work together with this offensive nature of communication from your end.

If you want you can use this docker to configure the server to work with Laravel applications https://github.com/mtmacdonald/docker-laravel If you Google you will find many such ready configuration for different linux editions to work with Laravel.

For Faveo to work as expected basic Laravel requirement have to be meet. Currently Faveo is using Laravel version 5.0 and in coming months we will upgrade to Laravel 5.2

ayurmedia commented 8 years ago

ok, that's my last comment, and i am gone from this project. you dont care about quality, so i dont try to help you. i fixed the installer with the suggestion for the wrong htaccess. i just tell you that your aproch to "ignore" problems is wrong. bye.

bhanu2217 commented 8 years ago

We truly appreciate that you are taking out time in trying out Faveo and we will work on all issues as pointed by you or anyone but it has to be done in professional manner and language used has to be professional with respect for everyone. We have spend lot of time & energy building this product, it probably has issues but we are working on all issues at fast pace to make Faveo a world class ticket based support system. The project is active and focus is on quality now, to make it as professional, easy to use and install as possible.

guestisp commented 8 years ago

I confirm that they don't care about quality. I did a pull request to bring back the default laravel directory structure and it was silently closed

Having a standard laravel structure would be better for every developers

Actually all code is public accessibile because is placed under the document root. Laravel, as default, put codes outside document root for security reasons and this structure should be used with no "code" or "lb-faveo" directories. Il you use a framework you should deal with that and adhere to it's standard.

Even the main index.php file was customized to allow the use of a wrong directory structure!

bhanu2217 commented 8 years ago

Faveo is being used by not only by developers but many SME's & startup. It's easy for them to install Faveo when the public folder is not used, so we have followed this structure. If there is a better way of removing public from URL without changing directory structure, do share with us and we will implement it.

guestisp commented 8 years ago

Almost all major hosting provider support "public" and "private" folders.

If you don't like this structure, probably a different framework should be used.

bhanu2217 commented 8 years ago

We want the faveo to be opened with following structure. www.yourwebsite.com and not www.yourwebsute.com/public and many a times Faveo is hosted in sub folder e.g www.yourwebsite.com/support but with default structure it will become www.yourwebsite.com/support/public if you have a better way of removing public from url do share.

bhanu2217 commented 8 years ago

I don't think there is right & wrong way, it's just choice & preference. Laravel is our choice of framework and we are using it the way we want to structure our code that works well for majority of our targeted audience. If you have better technique of hiding public in url you can share. Rather then going into choices will not lead anywhere

guestisp commented 8 years ago

With standard Laravel structure, would be pretty easy (in fact, using www.yourwebsite.com is the default with laravel, and not www.yourwebsite.com/public), probably a single line in htaccess. With your current directory structure I don't know.

bhanu2217 commented 8 years ago

Let me discuss with our team, we are not targeting just people with dedicated server but people using shared server and running multiple things on same domain/server. We will try and see if we can host two version of Faveo, one with standard Laravel structure and one without public. On Github we can host for advance users with default library structure and on our website offer version without public folder

guestisp commented 8 years ago

There is a bad way: the bad way is to customize framework file to archieve an unsecure directory structure where the same could be archieved with standard structure and a single .htaccess customization

guestisp commented 8 years ago

In your case, you are forcing ALL users to use your directory structure. The same could be applied automatically with a proper .htaccess

bhanu2217 commented 8 years ago

Directory structure has been changed to Laravel default. DB Port no option added to installer, new design installer coming soon with next release. We are also changing the work flow in next two releases to simply the ticket creation process further.

guestisp commented 8 years ago

Well done. :clap: