The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

I'm confused

Discussion in 'cPanel Developers' started by clanstyles, Feb 9, 2010.

  1. clanstyles

    clanstyles Registered

    Joined:
    Feb 9, 2010
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    Ok, so if I want to create an applicatin like Fantastico, I am creating a cPanel Plugin correct? (I'm getting confused here ont he difference in a module, plugin and script).

    Also, if it is a cPanel Plugin, I can't run it as root? Correct? (Bad security measures anyway)?
     
  2. cPanelDon

    cPanelDon cPanel Quality Assurance Analyst
    Staff Member

    Joined:
    Nov 5, 2008
    Messages:
    2,557
    Likes Received:
    7
    Trophy Points:
    38
    Location:
    Houston, Texas, U.S.A.
    cPanel Access Level:
    DataCenter Provider
    Twitter:
    Depending on the context involved there may be a different meaning or description for what may define a specific type of script, plug-in, module, or add-on. From the description provided I believe the item being referred to would be that of a cPanel plug-in. As a cPanel plug-in it would be accessed and executed by the user that is logged-in via cPanel (not that of "root"). There may be other components involved that are not accessible by a regular end-user such as a WHM plug-in or crontab entries for maintenance tasks as found in a number of third-party plug-ins and add-ons.

    For developer reference information I recommend the following resource: cPanel Developer Center
     
  3. clanstyles

    clanstyles Registered

    Joined:
    Feb 9, 2010
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    If a Plugin-In is going to add for example "Fantastico" to my account, then YES that is what I want.

    I don't understand though how to execute things because.. they are under the current user. He isn't giong to have access to /usr/blah or where ever I choose to store the files that require access. How does that work?
     
  4. cPanelDon

    cPanelDon cPanel Quality Assurance Analyst
    Staff Member

    Joined:
    Nov 5, 2008
    Messages:
    2,557
    Likes Received:
    7
    Trophy Points:
    38
    Location:
    Houston, Texas, U.S.A.
    cPanel Access Level:
    DataCenter Provider
    Twitter:
    To clarify my understanding, are you wanting to develop software like Fantastico, or just install existing software that is already developed by a third-party?

    To confirm, do you have root (Server Administrator) access to the system, such as via SSH and WHM access (where the username is "root")?
     
  5. clanstyles

    clanstyles Registered

    Joined:
    Feb 9, 2010
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    I wish to develop something like Fantastico for my clients. I have access to SSH root ect.. I am having issues though understanding since it seems very crossed up in the documentation. Some say use PHP some say use Perl I've read Ruby on Rails.. I think PHP is prefered for these type of things but not sure.. anyways..
     
  6. cPanelDon

    cPanelDon cPanel Quality Assurance Analyst
    Staff Member

    Joined:
    Nov 5, 2008
    Messages:
    2,557
    Likes Received:
    7
    Trophy Points:
    38
    Location:
    Houston, Texas, U.S.A.
    cPanel Access Level:
    DataCenter Provider
    Twitter:
    I would consider using the Install File Generator for the custom cPanel Plugin via the following resource: cPanel Plugins - Developer

    Using the the Install File Generator for the cPanel Plugin one can define an access URL for the custom software; this is normally relative to the theme directory (e.g,. relative to "/usr/local/cpanel/base/frontend/<theme_name>/"). The access URL might involve a path that uses a symlink to point back to the installation directory for the custom software (e.g., such as a new custom directory within "/usr/local/cpanel/3rdparty/").

    As an example, here is what I see used by Fantastico, that of using a symlink within the theme directory that points back to the install path:
    Code:
    # stat /usr/local/cpanel/base/frontend/x3/fantastico | head -n1
      File: `/usr/local/cpanel/base/frontend/x3/fantastico' -> `/usr/local/cpanel/3rdparty/fantastico'
    Another example, as seen by a different third-party product, also makes use of a symlink pointing back to the install directory, but here the symlink is in a different path that is still accessible while logged-into cPanel, as seen below:
    Code:
    # stat /usr/local/cpanel/base/3rdparty/example | head -n1
      File: `/usr/local/cpanel/base/3rdparty/example' -> `/usr/local/cpanel/3rdparty/example'
    The custom software installer that you would develop should handle the process of registering the cPanel Plugin and also rebuilding icon sprites as detailed in the documentation; for more verbose details and information regarding the install process of a cPanel Plugin please refer to the following documentation: cPanel Plugins Installation Instructions
     

Share This Page