Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

My first website

  1. Jan 6, 2016 #1
    Hello Forum,
    I am planning to launch my first website :) There are a lot of tools out there. I was thinking about using Wordpress (which seems more specific for blogs). What approach would you suggest for a beginner that only wants to quickly publish a webpage? What tool? I feel like learning javascript may be too much.

    My understanding of website creation: I need to prepare my content, find some web hosting (like godaddy), and upload the content to publish it. Is a FTP client still the best and most current way to upload content to a server? A browser can download content from a server but I don't think it can upload. The moral is that I need to download a FTP client software....

    How difficult is it to make my own computer a server to host my own website? Is it simply a matter of memory space? What type of software do I need to download?

  2. jcsd
  3. Jan 6, 2016 #2


    Staff: Mentor

    I would suggest Google blogger. Its free and you can remove the blogging by turning off replies easily and you can select from several templates to get started.

    Later when you get more savvy or you simply outgrow google then you can move onto wordpress.
  4. Jan 6, 2016 #3
    Are you looking to create your own website, as in writing the code yourself or are you looking to use a hosting site? Godaddy provides webhosting and servers for you, so there would be no need for you to convert a computer to a host for a server.

    Though If you want to convert or use a computer as a host then you're looking at programs like xampp (which I think may be for only offline work). Pairing that with programs like KomodoEdit, which is free, will let you write your own code for the site. All that would be left is finding a host for the site.
  5. Jan 6, 2016 #4


    User Avatar

    Staff: Mentor

    If what you have in mind is fairly simple, learn some basic HTML and CSS and write your own code.
    I use a plain text editor. For a long time, I used gnu nano (which is available in most or all distributions of Linux, and in the Mac OS terminal window) at the Unix command line, or TextEdit under Mac OS. Notepad under Windows would be similar. Lately I've been using TextWrangler under Mac OS because I had installed it a long time ago for some reason, then when I converted my files from .html to .php, TextWrangler started to launch automatically when I double-click on a PHP file.

    Even if you later end up using WordPress or some kind of graphical web-page layout tool/editor, you'll find it useful to know basic HTML anyway, and have some "direct experience" with how files are stored on the server by having to transfer them there via FTP or SFTP or a file manager in your server's control panel, create directories (folders), etc.

    I hang out in Google's webmaster support forums, and I've seen that many people who have used only WordPress are really clueless about what is happening, up on the server. For example, in order to use Google's Search Console to see statistics about the status of Google's indexing of your site, how often your site appears in search results, etc., you have to "verify" your ownership of the site by either (a) uploading a small .html file containing a code associated with your Google account, or (b) inserting a certain meta tag on your home page. WordPress users often have no idea how to do this directly, and have to use a WordPress plugin for it.

    You can do that, although for security reasons you should use one that can use SFTP (secure FTP) which encrypts your login credentials and the data during transfer. Most web hosting providers provide a web-based control panel (cPanel or some similar tool) that includes a file manager that does the SFTP for you.
  6. Jan 7, 2016 #5


    User Avatar
    Gold Member

    If publishing your content is what matters to you most, then you can go with Google blogger as jedishrfu suggests or generally, with some other host having some cms installed on their servers. On the other hand, it is not difficult to learn some HTML and CSS and maybe some javascript, but creating a nice looking and fully functional website on your own, will definitely be demanding as of time and efforts. I began as a web developer many years ago and I can tell you for sure, that it is really interesting and entertaining experience, but it has - as everything else, its own needs and demands. As for free hosts out there, you need to find a free domain name provider as well. There are low price hosts and domain name providers and it is usually preferable to free ones, as the latter usually include advertisements frequently not controlled by you or they maybe turn your website down, if you have not many visitors but you can check what is most preferable to you. Now, for turning your own machine to a web server, although technically easy, it will need enough memory, cpu speed etc. and will consume a lot of them for serving requests and it will demand some 24/7 operation, so I don't think it is the way to go.
  7. Jan 9, 2016 #6


    User Avatar

    Staff: Mentor

    I just noticed this:

    You need to install web-server software (usually Apache) which by itself will serve plain HTML pages; plus PHP or some other programming language if you want to do server-side programming, and MySQL if you want to use a database. Google for "WAMP server" for packages to install all three under Windows (or MAMP for Mac OS, or LAMP for Linux). With Apache, PHP and MySQL installed, you can also install WordPress if you want to do a blog. So technically it's certainly possible to host a web site on your home computer.

    The main obstacle will be making the server publicly accessible. I think most ISPs (in the US at least) do not allow basic residential customers to operate servers, so you would have to upgrade to a more expensive service. However, it is still useful to set up your computer as a server, even if it isn't public, because then you can learn web programming and write and test your web site locally, without having the whole world see your mistakes. :cool: Then when something is ready for "prime time", you upload it to your public web host, wherever it is. That's how I maintain my web site.
  8. Jan 18, 2016 #7
    Thanks everyone.

    I am looking for some general clarification on how things work on the server side.

    On the web server, the various HTML pages forming the website, CSS files, etc. are all stored in memory and organized in a database. A database is simply a group of tables containing information that is efficiently related to each other.
    MySQL is the programming language that serves to access that database. Are the MySQL instructions stored in a file that is launched when a webpage is requested?
    PHP is another programming language. There are programs stored on the server computer that are written in PHP and which get executed before the webpage is sent back to the browser (Python could be another server side language).
    Apache is the most common type of web server software.
    On the other end, Javascript is a client server programming language to write programs that get executed once the web contents reach the client browser (in regards to JS, a friend recently told that it is possible to write the entire website using JS...is that true? Or does HTML always need be present?)

    Any correction/validation is highly appreciated...
  9. Jan 18, 2016 #8


    User Avatar
    Gold Member
    2016 Award

    No, they are not. "web pages" are, at the basic level, just files with an HTM or HTML extension name and they are stored on a hard dirve, not in memory. They are not stored in a database and they are only brought into memory briefly as they are channeled from the HTML file out to the communications port.



    Yes. javascript lives inside the web page. That is, it is part of the HTML file that is served to the browser and the browser is able to execute them.

    javascript is used to modify what is presented to the user by the browser but since it lives inside the HTML file, it is automatically, in one sense, a part of the HTML. I'm not sure if you could get a useful result by having nothing but javascript in the HTML.
  10. Jan 18, 2016 #9
    Thank phinds. All clear.

    How does the database/ mySQL piece work exactly? Sure all the files are stored on the hard drive (my mistake). But how does the database concept relate to those stored files and does the mySQL code play a role in all of this ?
  11. Jan 18, 2016 #10


    User Avatar
    Gold Member
    2016 Award

    mySQL is not just a language (such as Structured Query Language, SQL, is) and it is not just a database. That is, your calling mySQL "code" is incorrect. It is a relational database management system and is a fairly complex beast. Any computer, server or otherwise, can have mySQL installed on it. Servers use it to store sets of data that are, individually, associated with a particular user, for example, and which are then in aggregate stored in the relational database system (Oracle, mySQL, or whatever) so as to be easily kept track of. That way servers can serve up HTML pages that have embedded in them certain information that is associated with the user to whom the page is being served. For example, if you look in the "my PF" drop-down at the top of this page, you will get links to information that is associated with you, not with me, because the server side software builds the HTML page using access to a relational database. This is considerably more complex that just serving up a simple HTML page (usually called a "static" page) and requires server side software that can connect to the relational database.

    This is what server side software does. It builds HTML pages. It doesn't have to use a relational database to do that but if it has user-specific information then it's a good bet that that information is stored in a relational database.

    Also, web pages may not have user-specific information but product-specific information that needs to be invoked in response to a user's clicks on the page his browser is showing him. That also would be stored in a relational database, unless it was very limited in scope in which case it might be embedded in the HTML page in the first place and accessed on the user's computer by, for example, javascript.
  12. Jan 19, 2016 #11


    User Avatar

    Staff: Mentor

    Or consider a blog, e.g. one powered by WordPress, the 600-pound gorilla in that area. Text for posts and comments are stored in a MySQL database. When you click on a link to a post, or a page containing multiple posts, it invokes a PHP file/program on the server which pulls the desired posts, images and comments from the database, generates HTML and maybe CSS code according to the theme that the blog's author chose, assembles it all into a stream of HTML code and sends it to your browser.
  13. Jan 19, 2016 #12


    User Avatar
    Science Advisor
    Homework Helper

    Your friend may have been referring to Node.js . That's an alternative to the Apache/php server side mentioned above, where the server side code is also written in JavaScript. As others said, that server side JavaScript code will still build HTML files and send them to the client.
    I wouldn't recommend Node.js if you are new to this: the approaches mentioned above are easier.

    Another possible meaning is that many current Web applications are "mainly" written in JavaScript.
    For example, you could use AngularJS to write most of the client side application. You server side php (or phyton) code would still send the HTML files and the JavaScript code to the client.
    But for the rest, if will just serve as a RESTFul API, getting requests from the client (sent by the JavaScript code), looking up the result in the database, and sending the result back to the client. The server side code will not be concerned at all about what happens on the client, that's all handled by JavaScript.
    The JavaScript code will fetch the necessary HTML and CSS files as needed.
    Last edited: Jan 19, 2016
  14. Jan 19, 2016 #13
    It's possible, but most domestic internet connections don't have sufficient upload bandwidth, so once your server starts getting requests from more than one or two users it'll start to creak badly.
    This is why most DIY websites are hosted at dedicated server farms which are designed specifically to provide the needed amount of connectivity.
    You also would need a fixed IP associated with the website address, and most domestic internet access is dynamic IP by default. (Your IP is allocated from a pool belonging to the ISP and it can change)
    You probably could get a suitable business orientated package from your ISP, but that would probably work out to be a lot more costly than just hiring space at a server farm.
    Last edited: Jan 19, 2016
  15. Jan 19, 2016 #14
    How complex do you want that website to be? Do you have experience in any programming language?
    If you want something really quick and simple you can use a graphical html editor or even just a word processor. You could for example design a page in google docs and click on "download as web page". And then you just upload it to your web hosting provider.
    But those simple solutions are of course quite limiting and won't allow you to make professional websites like this forum.
  16. Jun 18, 2016 #15
    You can rent your own server for literally few dollars for a month.
    Then you can use any available control panel like cPanel, ServerSuit or Vesta to install Apache + PHP + MySQL on it.

    And then you can just upload your website to the server using FTP or SFTP client like WinSCP.
    That's all you need basically.

    You also can install WAMP software on your local computer so you can develop it locally before uploading to your server.
    Not so complex at all to be honest.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted

Similar Discussions: My first website