Setting up a website using Drupal

BondGH

Member
Joined
Dec 25, 2009
Messages
116
Reaction score
0
Hi there,

Could anybody give me a better picture of what it is like to create a website? I am working with a few friends to come up with a E-commerce website. A guy does the design, another does the html and css (front-end coding) and I'm doing the back-end stuff.

Currently, we are thinking of using Drupal as the content manager. I'm still fuzzy with all the information that is hitting me while learning how to set up Drupal. Seems like I need a web server (Apache?), PHP and a database (thinking of using mysql). All these 3 component, I have no idea what they are and what they do. Could some one fill me in? Also, would you give general advice on setting up a E-commerce website like perhaps base on your experience what's good and what's not?
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,547
Reaction score
1,301
Hi there,

Could anybody give me a better picture of what it is like to create a website? I am working with a few friends to come up with a E-commerce website. A guy does the design, another does the html and css (front-end coding) and I'm doing the back-end stuff.

Currently, we are thinking of using Drupal as the content manager. I'm still fuzzy with all the information that is hitting me while learning how to set up Drupal. Seems like I need a web server (Apache?), PHP and a database (thinking of using mysql). All these 3 component, I have no idea what they are and what they do. Could some one fill me in? Also, would you give general advice on setting up a E-commerce website like perhaps base on your experience what's good and what's not?

You don't necessarily require Drupal to create a website. Drupal is a content management system. Other similar software of such nature are Joomla, Wordpress, Liferay, Typo3, concrete5 etc. These are application packages that gives you a framework and a general starting point to manage contents in a systematic manner. For applications of ecommerce specific nature, there are Magento, Prestashop, e-Commerce(extension of Joomla), Virtuemart(extension of Joomla), WP-eCommerce(extension of WP) etc.

Regardless which you have chosen, you will definitely require a web server or a servlet container to host the application. Without a web serving engine, these applications can't serve web requests on their own. Servlet container refers to Java technology. Some examples are Apache Tomcat, Oracle Weblogic, IBM Websphere, Redhat JBoss(now known as Wildfly), Jetty, Sun GlassFish(now by Oracle) etc. These are servlet container to host web applications written in Java. They themselves are also HTTP compliant web servers, some even serve J2EE standards.

Web Servers like Apache HTTPd, Lighttpd, NginX, etc are multi purpose HTTP web servers serving pure HTTP web requests only. Apache HTTPd is a bit more unique since it has a long history and there are numerous plugins that are designed for it serving scripting capability such as PHP, Perl, Python, Lua, Ruby etc. Nowadays, developera attempt to break out of serving both scripting capabilities and web requests under the same running process of the web server by using FastCGI or WSGI model. NginX deployment often relate with PHP though not always true, uses PHP-FPM as the backend to serve PHP applications. NginX itself doesn't manage any scripting languages, it just perform a transfer of web requests and response via the backend PHP FastCGI manager where dynamic interpretation of the PHP web applications take place.

A database is almost mandatory for any useful web application. You use it to centrally store web application content data and user specific data. It is mandatory for some web applications since they are already built with a database for backend storage. Database is none more than a data management system where data are eventually stored as files. It's advantage over simple file management is storage efficiency, standardised access protocol using SQL, performance efficiency in data storage and retrieval, ACID properties and some other powerful distributed concepts like replication, redundancies and so forth. The most common in the industry is MySQL. However due to the fast changing landscape of revolution of Internet, you find other classes of databases exist for numerous different use cases. Another class of database known as NoSQL spawn out of fast access and storage necessity breaking at least one property in ACID. To just list out a few common names of databases(regardless SQL or NoSQL) MySQL, MariaDB, Percona DB, Oracle DB, IBM DB2, Microsoft SQL Server (MSSQL), Cassandra DB, MongoDB, Riak, Couch DB, Apache Derby, Nuo DB, Foundation DB, etc.

I hope the above context will fill you in on what is currently available at your disposal. However dropping back to reality, one common set of applications as a starting point for you is the following

Apache Web Server(with mod_php engine), MySQL DB, Drupal/Joomla/Wordpress CMS

This above set of technologies will bring you into the web development arena, but they are not the best in my opinion since best does not exist and very specific to each use cases. Your team also need to be proficient to understand where the bottlenecks are as you progress. Unless you have hundreds of thousands of users coming to your site, the least of your concern is choosing which is the best. What is more important at hand is how you design the features in your website, how will it look like, how does it function etc.
 

stupidbodo

Junior Member
Joined
Mar 26, 2010
Messages
89
Reaction score
0
Hi there,

Could anybody give me a better picture of what it is like to create a website? I am working with a few friends to come up with a E-commerce website. A guy does the design, another does the html and css (front-end coding) and I'm doing the back-end stuff.

Currently, we are thinking of using Drupal as the content manager. I'm still fuzzy with all the information that is hitting me while learning how to set up Drupal. Seems like I need a web server (Apache?), PHP and a database (thinking of using mysql). All these 3 component, I have no idea what they are and what they do. Could some one fill me in? Also, would you give general advice on setting up a E-commerce website like perhaps base on your experience what's good and what's not?


how technical is your team? For e-commerce sites I think validating your idea and things you sell is important. Like what I normally recommend my friends I would recommend you to check out Shopify. (not affiliated with them)

They seem to be doing a really good job abstracting all the technical stuffs from non-technical users while having a cool sets of features for e-commerce store.

Unless you like to write code from business perspective I recommend you to use shopify first.
 

BondGH

Member
Joined
Dec 25, 2009
Messages
116
Reaction score
0
how technical is your team? For e-commerce sites I think validating your idea and things you sell is important. Like what I normally recommend my friends I would recommend you to check out Shopify. (not affiliated with them)

They seem to be doing a really good job abstracting all the technical stuffs from non-technical users while having a cool sets of features for e-commerce store.

Unless you like to write code from business perspective I recommend you to use shopify first.

Have never heard about shopify till now. I have taken a look at it but our team requires something more customized. Goes to the extent of sending automated SMSes and links up with back end softwares in the future. Actually, if it's so easy to use shopify, why haven't I heard anyone getting famous doing sales through it? I'm just saying, no harm intended. But I believe in the beauty of writing code and it;s where everything starts.
 

BondGH

Member
Joined
Dec 25, 2009
Messages
116
Reaction score
0
You don't necessarily require Drupal to create a website. Drupal is a content management system. Other similar software of such nature are Joomla, Wordpress, Liferay, Typo3, concrete5 etc. These are application packages that gives you a framework and a general starting point to manage contents in a systematic manner. For applications of ecommerce specific nature, there are Magento, Prestashop, e-Commerce(extension of Joomla), Virtuemart(extension of Joomla), WP-eCommerce(extension of WP) etc.

Regardless which you have chosen, you will definitely require a web server or a servlet container to host the application. Without a web serving engine, these applications can't serve web requests on their own. Servlet container refers to Java technology. Some examples are Apache Tomcat, Oracle Weblogic, IBM Websphere, Redhat JBoss(now known as Wildfly), Jetty, Sun GlassFish(now by Oracle) etc. These are servlet container to host web applications written in Java. They themselves are also HTTP compliant web servers, some even serve J2EE standards.

Web Servers like Apache HTTPd, Lighttpd, NginX, etc are multi purpose HTTP web servers serving pure HTTP web requests only. Apache HTTPd is a bit more unique since it has a long history and there are numerous plugins that are designed for it serving scripting capability such as PHP, Perl, Python, Lua, Ruby etc. Nowadays, developera attempt to break out of serving both scripting capabilities and web requests under the same running process of the web server by using FastCGI or WSGI model. NginX deployment often relate with PHP though not always true, uses PHP-FPM as the backend to serve PHP applications. NginX itself doesn't manage any scripting languages, it just perform a transfer of web requests and response via the backend PHP FastCGI manager where dynamic interpretation of the PHP web applications take place.

A database is almost mandatory for any useful web application. You use it to centrally store web application content data and user specific data. It is mandatory for some web applications since they are already built with a database for backend storage. Database is none more than a data management system where data are eventually stored as files. It's advantage over simple file management is storage efficiency, standardised access protocol using SQL, performance efficiency in data storage and retrieval, ACID properties and some other powerful distributed concepts like replication, redundancies and so forth. The most common in the industry is MySQL. However due to the fast changing landscape of revolution of Internet, you find other classes of databases exist for numerous different use cases. Another class of database known as NoSQL spawn out of fast access and storage necessity breaking at least one property in ACID. To just list out a few common names of databases(regardless SQL or NoSQL) MySQL, MariaDB, Percona DB, Oracle DB, IBM DB2, Microsoft SQL Server (MSSQL), Cassandra DB, MongoDB, Riak, Couch DB, Apache Derby, Nuo DB, Foundation DB, etc.

I hope the above context will fill you in on what is currently available at your disposal. However dropping back to reality, one common set of applications as a starting point for you is the following

Apache Web Server(with mod_php engine), MySQL DB, Drupal/Joomla/Wordpress CMS

This above set of technologies will bring you into the web development arena, but they are not the best in my opinion since best does not exist and very specific to each use cases. Your team also need to be proficient to understand where the bottlenecks are as you progress. Unless you have hundreds of thousands of users coming to your site, the least of your concern is choosing which is the best. What is more important at hand is how you design the features in your website, how will it look like, how does it function etc.

Thanks a million for this comprehensive explanation. I have used XAMPP to help me get Apache, SQL, PHP installed and running. XAMPP has worked with BitNami to get many add-ins for free!
 

stupidbodo

Junior Member
Joined
Mar 26, 2010
Messages
89
Reaction score
0
Have never heard about shopify till now. I have taken a look at it but our team requires something more customized. Goes to the extent of sending automated SMSes and links up with back end softwares in the future. Actually, if it's so easy to use shopify, why haven't I heard anyone getting famous doing sales through it? I'm just saying, no harm intended. But I believe in the beauty of writing code and it;s where everything starts.

No prob I havent really dig in to the api docs and I might be wrong but I reckon a SAAS provider like them should be able to provide apis allowing users to build features on top of their platform. You could hook up the api to trigger a third party sms provider like twilio.

Maybe you can take a look at their case studies and docs to see how people are using it.
 
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top