Mezzanine filebrowser deploy - django

I have installed mezzanine and I have tried to use the admin interface to upload some pictures to media library. I didn't have any problem on dev server (localhost) but on the deployment server I get the following:
NetworkError: 500 INTERNAL SERVER ERROR - http://mydomain/asset_proxy/?u=http://mydomain/static/filebrowser/uploadify/uploadify.swf
I've tried to find a solution on the internet without any success. All the topics related to this problem are ambiguous and didn't help me at all.
It seems there might be a security issue when the server tries to load the flash object (uploadify.swf) but I don't really get it.
I'd be very happy to understand where the problem comes from as much as how to fix it.
Thanks a lot!

If anyone runs into this problem in the future, it looks like the webserver does not automatically have permissions to write to the media directory in your mezzanine project.
You can simply do something like:
chmod -R 777 /YOUR_PROJECT/static/media
That should clear up your issue.

Related

How do I know if my Django project is ready to be deployed?

I already finished my project that I made with django, and I want to upload it. I already bought the domain, and they are about to host it for me.. once they give me the host, I just upload it and that's it? Or are there more steps to do within the code? What do I have to do?. that is, once everything is uploaded to the host, will everything be seen?
And the Admin will continue to work, when in the search engine put /admin/ ???.
that is, I wonder what are all the steps to follow so that once I host my page everything can be seen.
that is, what things would have to be configured in the congif.py, and other things.
I would appreciate a lot if you give me advice/tips/solutions..
What I know is that I have to change the debug to DEBUG=False ...
And I don't know anything else, once they pass me the port and other host information, I simply upload the files of my project to the host and that's it, nothing more? Isn't it necessary to write more code to show it?
Excuse me, I have never displayed a page
There are a lot of steps involved in deploying your code to production. I suggest you check out a guide like this to get a better idea of what you need to do in order to deploy your website. Additionally, you can run the command python manage.py check --deploy for a quick, though insufficient, review of your code to see if it is ready to be pushed to production.
Django is an excellent choice for developing basic to more advanced websites. The web framework works well in local and production environments. Just the same way the local environment server is not suitable for a production environment, there are things you need to configure before deploying your Django website. Take a look at the links below
Https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/
https://docs.djangoproject.com/en/4.1/howto/deployment/
https://github.com/vintasoftware/django-production-launch-checklist/blob/master/checklist-en.md

Amazon AWS Service Error

I am currently trying to set up a Virtual Machine and a Database Server for my website to launch off of. I decided to go with Amazon's AWS.
I have beeing working through This Tutorial and am at Part 3 now.
I got to the point where I started the Apache Web Server and went to my local DNS name in my browser, and successfully saw the Test Page.
I proceeded forward with Downloading "Drupal" and got to the section where it says "Configure Drupal". I am now trying to load my local DNS name in my browser again, only to get a 500 Server Error.
I'm not sure what could've went wrong, I only entered the commands in the tutorial for the whole section on "Install Drupal".
Thank you
EDIT: Also, what exactly does Drupal do? And do I need to use it?
Drupal is a CMS system, and you don't have to use it. It is only being used to provide an example for a website. Instead of installing Drupal, you can install your own site on the server if you prefer or even something like Wordpress if you're more familiar with that.
However, if you do want to follow the example your best bet for discovering the problem is to look into what the exact error is. You should be able to find more information about that in the log files located in /var/log/httpd. The error log in there should show you more details about what failed.

Launching a Mezzanine site live

I'm new to mezzanine and Django. I have set up a site, everything is working but I can only launch the server on "development". I would like to access de site on the port 80 on the internet instead of internally, as I have no way other than redirecting the port via SSH to access it. I would like to know how to do that.
And another question, is Nginx included with Mezzanine automatically ? Cause I have a tuned up Nginx server there and I'm not sure what I need to do, if run it with my existing Nginx server or with the one included with Django if that is how it works .... thank you for bring some light on this.
NGINX is not included with Mezzanine, it's an entirely separate piece of software, similar to Apache.
Mezzanine includes a fabric script which can automatically set up a production server if you'd like to use it, and will install NGINX on the server for you, among many other things.
Given your question, I can't recommend enough that you read and understand all the related documentation on this topic. Start with the Mezzanine link below, it references many other documentation sites - Django, Fabric, NGINX, plus more.
Enjoy the adventure: http://mezzanine.jupo.org/docs/deployment.html

Idiots guide to getting a django project onto the web please

Help! I think i've gone in a bit over my head. I'm making a website for a friend who has already got a domain/hosting on the website 123reg. Keen to learn them i've been picking up python and django as i go, figured getting it online would be no problem because 123reg supports python (unspecified version).
So far i've been doing everything with the django test-server locally, i went to look into uploading it somewhere as a test and realised there's an awful lot i don't know and even with google its a bit overwhelming.
I found this link which will help me later i'm sure but right now, could someone help me understand What is Apache? I thought the server was the hardware a site was physically hosted on but i can't understand it at all now.. So i download Apache and then what? Can i just copy it into the root directory for the website on 123reg? Is their an installer? Will 123reg allow it to "run" or "serve" or whatever word's appropriate or will there be permissions issues?
And then once that's sorted there's mod_wsgi to look into, a cursory glance at the installation guide shows commands to be run, which confuses me further as i was not aware that a standard host like 123reg have any sort of inbuilt console window to be run on in which case how are you expected to execute these commands?
And another thing I didn't really think through, I'm using the built in sqlite database technology.. How will i be able to install it on my webspace? and then how will that effect my django configuration? or maybe i'll have to change to MySql v5 which 123reg says it supports?
I know these must be idiotic questions, I just wasn't sure where best to ask for help and SO has one of the most helpful and knowledgeable communities around. I did try having a google but everything was a bit overly technical for me.
You can't upload a Django site using FTP on a shared hosting provider and expect it to run. You'll need to configure it to run with their installed Apache, including configuration like mod_wsgi.
I very much doubt that 123-reg support this. You are unlikely to be able to run a Django site there. You should look for a more Django-friendly site - I recommend Webfaction.
Apache is the webserver software. It's already running on their machines. Don't try and install it lol, or they will certainly laugh at you.
To "run commands" you need to get a remote shell (console). This is typically done via Secure Shell (SSH). See this page regarding 123reg specifically: How do I connect using SSH (Putty)?
Django supports different databases, including SQLite and MySQL. SQLite is typically for small, simple databases, as the "database" is really just a local file that is manipulated by the SQLite engine. MySQL is the database of choice for many websites.

How can I get django project run in https? and what actually is 'https'?

apache + python + mod_wsgi + django +svn:
I have alreaady get my django project running under http://. Then My boss ask me to get it run in https.
I would like to know what is the difference between http and https? And how can I make my django project run under https?
Thanks
`Oh sorry, I think I have to correct somethings here.
I got my boss wrongly. In fact, he wanted me to build and run django project with svn on apache server and he also wanted it running under https.
So, can anyone tell me or provide me some link of related information of how to setup these? (actually I have very little knowledge about what svn is doing. I think my boss wanted to use svn for managing the website source code.)`
*If possible, please tell more about svn. Thanks!
The Apache documentation has various documentation about HTTPS and setting it up to use it.
http://httpd.apache.org/docs/2.2/ssl/
You just need to put your mod_wsgi configuration within a VirtualHost setup for HTTPS.